繁体   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