[英]How to create three separate lists of values from a list of dictionaries where each dictionary has three keys
[英]create dictionary from multiple lists, where each list has not the values for one key, but each list has values for all keys
我有如下列表:
key1=['A','B','C']
key2=['X','Y','Z']
entry1=['x1','y1','z1']
entry2=['x2','y2','z2']
entry3=['x3','y3','z3']
我希望我的字典具有以下格式的項目:
mydict={'A':{'X':'x1','Y':'y1','Z':'z1'},'B':{'X':'x2','Y':'y2','Z':'z2'},'C':{'X':'x3','Y':'y3','Z':'z3'}}
有人可以幫忙嗎??
如果您從將三個entry
列表變成一個列表開始,會更容易。 然后你可以用key1
列出zip
得到:
entries = [entry1, entry2, entry3]
mydict = {
k1: {k2: e for k2, e in zip(key2, entry)}
for k1, entry in zip(key1, entries)
}
這是您可以使用嵌套字典理解的:
key1=['A','B','C']
key2=['X','Y','Z']
entry1=['x1','y1','z1']
entry2=['x2','y2','z2']
entry3=['x3','y3','z3']
entries = [entry1, entry2, entry3]
my_dict = {k1:{k2:v for k2,v in zip(key2,entry)} for k1,entry in zip(key1,entries)}
print(my_dict)
Output:
{'A': {'X': 'x1', 'Y': 'y1', 'Z': 'z1'}, 'B': {'X': 'x2', 'Y': 'y2', 'Z': 'z2'}, 'C': {'X': 'x3', 'Y': 'y3', 'Z': 'z3'}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.