簡體   English   中英

從列表python創建字典

[英]Create dictionary from list python

我有這種格式的許多列表:

['1', 'O1', '', '', '', '0.0000', '0.0000', '', '']
['2', 'AP', '', '', '', '35.0000', '105.0000', '', '']
['3', 'EU', '', '', '', '47.0000', '8.0000', '', '']

我需要創建一個字典,其中key作為列表​​中的第一個元素,value作為整個列表。 沒有一個鍵在重復。 最好的方法是什么?

>>> 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', '', '']}

將所有列表放在另一個列表中並執行以下操作:

my_dict = {}
for list in lists:
  my_dict[list[0]] = list[:]

這基本上獲取第一個元素並將其作為my_dict的鍵,並將列表作為值。

如果索引是順序整數,則可以使用列表而不是dict:

lst = [None]+[x[1:] for x in sorted(lists)]

但是,只有當它真的適合你的問題時才使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM