我有很多的名單格式如下:創建字典從列表蟒蛇
['1', 'O1', '', '', '', '0.0000', '0.0000', '', '']
['2', 'AP', '', '', '', '35.0000', '105.0000', '', '']
['3', 'EU', '', '', '', '47.0000', '8.0000', '', '']
我需要創建一個字典,鍵在列表中的第一個元素和值的完整列表。沒有任何鍵正在重複。 這樣做的最好方法是什麼?
我有很多的名單格式如下:創建字典從列表蟒蛇
['1', 'O1', '', '', '', '0.0000', '0.0000', '', '']
['2', 'AP', '', '', '', '35.0000', '105.0000', '', '']
['3', 'EU', '', '', '', '47.0000', '8.0000', '', '']
我需要創建一個字典,鍵在列表中的第一個元素和值的完整列表。沒有任何鍵正在重複。 這樣做的最好方法是什麼?
把所有的名單在另一個列表,這樣做:
my_dict = {}
for list in lists:
my_dict[list[0]] = list[:]
這基本上得到的第一個元素,並把它作爲my_dict
的關鍵,並把列表作爲值。
>>> lists = [['1', 'O1', '', '', '', '0.0000', '0.0000', '', ''],
['2', 'AP', '', '', '', '35.0000', '105.0000', '', ''],
['3', 'EU', '', '', '', '47.0000', '8.0000', '', '']]
>>> {x[0]: x for x in lists}
{'1': ['1', 'O1', '', '', '', '0.0000', '0.0000', '', ''], '3': ['3', 'EU', '', '', '', '47.0000', '8.0000', '', ''], '2': ['2', 'AP', '', '', '', '35.0000', '105.0000', '', '']}
如果你的索引是連續整數,你可以使用一個列表,而不是一個字典的:
lst = [None]+[x[1:] for x in sorted(lists)]
只使用它,如果它真的適合你的問題,但。
非常感謝:)真的幫助 –
但是,如果我需要爲每個列表製作單獨的字典並且我不想合併列表,我該怎麼辦? –
@wannabe_geek你必須保持你的名單莫名其妙。將它們全部放在一個列表中是最簡單的方法。如果你願意,你可以使用鏈表等其他東西。您的輸出遵循相同的規則。你必須把它保存在某個地方。字典是最好的選擇。 – AliBZ