我有列表的列表,我希望創建一個字典,每個元素的長度作爲值。我試過如下:自定義列表到詞典
tmp = [['A', 'B', 'E'], ['B', 'E', 'F'], ['A', 'G']]
tab = []
for line in tmp:
tab.append(dict((k, len(tmp)) for k in line))
但它給輸出爲:
[{'A': 3, 'B': 3, 'E': 3}, {'B': 3, 'E': 3, 'F': 3}, {'A': 3, 'G': 3}]
什麼是我應該得到的輸出修改:
{['A', 'B', 'E']:3, ['B', 'E', 'F']:3, ['A', 'G']:2}
在此先感謝。
AP
你不能有一個列表作爲密鑰 –
@ Farhan.K。好。當我嘗試時,tab.append(dict((len(tmp),k)for k in line));我得到了〜[<發生器對象 0x1041e81e0>,<發生器對象 0x1041e8370>,<發生器對象 0x1041e8320>]〜。這是什麼意思 ? –
Arun