好吧,我有一本字典,看起來像這樣如何結合詞典+列表,形成一個有序列表
z = {'J': 50, 'Q': 30, 'F': 10)
而且看起來像這樣
l = [('J', 20), ('Q', 10), ('F', 2)]
如何合併這些到一個列表既保存我的原始列表排序字典或列表?我想要的東西看起來像
l = [('J', 20, 50), ('Q', 10, 30), ('F', 2, 10)]
感謝您的幫助!
好吧,我有一本字典,看起來像這樣如何結合詞典+列表,形成一個有序列表
z = {'J': 50, 'Q': 30, 'F': 10)
而且看起來像這樣
l = [('J', 20), ('Q', 10), ('F', 2)]
如何合併這些到一個列表既保存我的原始列表排序字典或列表?我想要的東西看起來像
l = [('J', 20, 50), ('Q', 10, 30), ('F', 2, 10)]
感謝您的幫助!
z = {'J': 50, 'Q': 30, 'F': 10}
l = [('J', 20), ('Q', 10), ('F', 2)]
print [(a, b, z[a]) for a, b in l]
給出:
[('J', 20, 50), ('Q', 10, 30), ('F', 2, 10)]
最好不要說出你的列表l
。從PEP 8:
名,以避免
切勿使用字符 'L'(小寫字母EL), 'O'(大寫 信哦),或 'I'(大寫字母眼)單字符變量 名稱。
在某些字體中,這些字符與數字 one和zero沒有區別。當試圖使用'l'時,請使用'L'。
元組的列表,你可以這樣做:
[item + (z[item[0]],) for item in l]
注意z[item[0]]
假設關鍵item[0]
總是z
存在。
對於一個字典,嘗試
dict((item[0], (item[1], z[item[0]])) for item in l)
提高耶拿的回答允許列表中的一些項目從字典丟失:
>>> l = [('J', 20), ('Q', 10), ('F', 2), ('A', 5)]
>>> [x + (z.get(x[0]),) for x in l]
[('J', 20, 50), ('Q', 10, 30), ('F', 2, 10), ('A', 5, None)]
謝謝你,這完美的作品。 –