簡體   English   中英

Python列表到字典與鍵

[英]Python list to dictionary with keys

我有以下清單:

[['Andorra', '19165'], ['Algeria', '233724']]

每個子列表中的第一個值是-國家

每個子列表中的第二個值是-人口

如何從此列表中創建字典,該字典會將country鍵和population鍵設置為子列表中的每個值。

我期望這個結果:

{'Country': 'Andora', 'population': '19165'}, ....

關於什么:

result = {country:pop for country,pop in source}

source是您的子列表列表。

或在外殼中:

>>> source = [['Andorra', '69165'], ['Algeria', '40375954'], ['Antigua and Barbuda', '92738'], ['Azerbaijan', '9868447'], ['Australia', '24309330'], ['Aruba', '104263'], ['Albania', '2903700'], ['American Samoa', '55602'], ['Afghanistan', '33369945'], ['Anguilla', '14763'], ['Austria', '8569633'], ['Armenia', '3026048'], ['Angola', '25830958'], ['Argentina', '43847277']]
>>> {country:pop for country,pop in source}
{'Andorra': '69165', 'Angola': '25830958', 'Austria': '8569633', 'Armenia': '3026048', 'Anguilla': '14763', 'American Samoa': '55602', 'Albania': '2903700', 'Australia': '24309330', 'Afghanistan': '33369945', 'Aruba': '104263', 'Azerbaijan': '9868447', 'Argentina': '43847277', 'Antigua and Barbuda': '92738', 'Algeria': '40375954'}

編輯

重讀您的問題后,我認為您正在尋找:

result = [{'country':country,'population':pop} for country,pop in source]

這給出:

>>> source = [['Andorra', '69165'], ['Algeria', '40375954'], ['Antigua and Barbuda', '92738'], ['Azerbaijan', '9868447'], ['Australia', '24309330'], ['Aruba', '104263'], ['Albania', '2903700'], ['American Samoa', '55602'], ['Afghanistan', '33369945'], ['Anguilla', '14763'], ['Austria', '8569633'], ['Armenia', '3026048'], ['Angola', '25830958'], ['Argentina', '43847277']]
>>> [{'country':country,'population':pop} for country,pop in source]
[{'population': '69165', 'country': 'Andorra'}, {'population': '40375954', 'country': 'Algeria'}, {'population': '92738', 'country': 'Antigua and Barbuda'}, {'population': '9868447', 'country': 'Azerbaijan'}, {'population': '24309330', 'country': 'Australia'}, {'population': '104263', 'country': 'Aruba'}, {'population': '2903700', 'country': 'Albania'}, {'population': '55602', 'country': 'American Samoa'}, {'population': '33369945', 'country': 'Afghanistan'}, {'population': '14763', 'country': 'Anguilla'}, {'population': '8569633', 'country': 'Austria'}, {'population': '3026048', 'country': 'Armenia'}, {'population': '25830958', 'country': 'Angola'}, {'population': '43847277', 'country': 'Argentina'}]

我想這就是你要找的

[{'country': country, 'population': population} for country, population in l]

輸出:

[{'population': '69165', 'country': 'Andorra'}, {'population': '40375954', 
  'country': 'Algeria'}, {'population': '92738', 'country': 'Antigua and Barbuda'}, 
 {'population': '9868447', 'country': 'Azerbaijan'}, {'population': '24309330', 'country': 
  'Australia'}, {'population': '104263', 'country': 'Aruba'}, {'population': '2903700', 
  'country': 'Albania'}, {'population': '55602', 'country': 'American Samoa'},
 {'population': '33369945', 'country': 'Afghanistan'}, {'population': '14763', 
  'country': 'Anguilla'}, {'population': '8569633', 'country': 'Austria'}, 
 {'population': '3026048', 'country': 'Armenia'}, {'population': '25830958', 
  'country': 'Angola'}, {'population': '43847277', 'country': 'Argentina'}]

暫無
暫無

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

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