我試圖從列表中創建一個字典。我創建了一個例子,類似我工作的事,這是這樣的:從列表中創建字典並獲取python中的最大密鑰
lst1 = [['a','b','c'],['d','e','a'],['g','b','i']]
lst2 = [[1,8,2],[4,3,6],[7,9,0]]
我想是這樣的
mydict = [dict(zip(keys,values)) for keys in lst1 for values in lst2]
print (mydict)
# Prints like this below
#[{'a': 1, 'b': 8, 'c': 2}, {'a': 4, 'b': 3, 'c': 6}, {'a': 7, 'b': 9, 'c': 0}, {'d': 1, 'e': 8, 'a': 2}, {'d': 4, 'e': 3, 'a': 6}, {'d': 7, 'e': 9, 'a': 0}, {'g': 1, 'b': 8, 'i': 2}, {'g': 4, 'b': 3, 'i': 6}, {'g': 7, 'b': 9, 'i': 0}]
我可以看到這個錯誤我做的是迭代lst2
的lst1
內循環以便鍵和值分配多次。但我需要的輸出這樣的
{{'a': 1, 'b': 8, 'c': 2}, {'d': 4, 'e': 3, 'a': 6}, {'g': 7, 'b': 9, 'i': 0}}
我想保留列表的結構,並創建一個鍵和值的字典,有了它我就能獲得詞典的最大關鍵一些東西。 所以我的最終目標是獲得這個
"""
In the mydict
{{'a': 1, 'b': 8, 'c': 2},
{'d': 4, 'e': 3, 'a': 6},
{'g': 7, 'b': 9, 'i': 0}}
the key 'b' has max_value of 8,
the key 'a' has max_value of 6,
the key 'b' has max_value of 9.
#the output i need is [['b'],['a'],['b']]
"""
編輯:
謝謝大家對您的回答,反覆停止,一旦它找到最大值如何讓所有的最大值的鑰匙。對於如:
lst1 = [['a','b','c'],['d','e','a'],['g','b','i']]
lst2 = [[1,8,2],[4,3,6],[7,9,9]]
需要輸出
[['b'], ['a'], ['b','i']]
爲什麼'max_mydict'列表*列表*? –
你爲什麼要創建字典來查找'max_mydict'? –
對不起,輸入錯誤,我想max_mydict看起來像那樣。現在糾正它 – Watarap