在Python中創建一個包含列表理解的詞典


Answers

在Python 3 / Python 2.7+中,dict解析工作如下所示:

d = {k:v for k, v in iterable}

對於Python 2.6及更早版本,請參閱fortran的答案 。

Question

我喜歡Python列表理解語法。

它也可以用來創建詞典嗎? 例如,通過迭代鍵和值對:

mydict = {(k,v) for (k,v) in blah blah blah}  # doesn't work






嘗試這個,

def get_dic_from_two_lists(keys, values):
    return { keys[i] : values[i] for i in range(len(keys)) }

假設我們有兩個名單國家資本

country = ['India', 'Pakistan', 'China']
capital = ['New Delhi', 'Islamabad', 'Beijing']

然後從兩個列表中創建詞典:

print get_dic_from_two_lists(country, capital)

輸出是這樣的,

{'Pakistan': 'Islamabad', 'China': 'Beijing', 'India': 'New Delhi'}



簡單

對於版本<2.7

d = dict((i,True) for i in [1,2,3])

版本> = 2.7

d = {i: True for i in [1,2,3]}



在Python 2.7中,它是這樣的:

>>> list1, list2 = ['a', 'b', 'c'], [1,2,3]
>>> dict( zip( list1, list2))
{'a': 1, 'c': 3, 'b': 2}

將它們拉鍊




Links