gpt4 book ai didi

python - 从 Python 中的字典列表创建新字典

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:06 25 4
gpt4 key购买 nike

我有一个字典列表,其中一些值是字符串,而其他值是整数:

list_countries = [{'country' : 'Suriname', 
'population' : 532724,
'capital': 'Paramaribo',
'anthem': 'God zij met ons Suriname'},
{'country' : 'Sweden',
'population' : 9683248,
'capital': 'Stockholm',
'anthem': 'Du gamla, Du fria'},
...]

我想将这些键值对中的每一个 reshape 为一个新的大字典。但是,我的方法有问题:

dict_countries = { 'countries':       [],
'pop': [],
'capital_city': [],
'national_anthem': [] }

然后我遍历并使用 .extend() 追加所有值。

for dictionary in list_countries:
dict_countries['countries'].extend(dictionary['country'])
dict_countries['pop'].extend(dictionary['population'])
dict_countries['capital_city'].extend(dictionary['capital'])
dict_countries['national_anthem'].extend(dictionary['anthem'])

但是,这是行不通的。所有字符串都被逐个字母地分解。对于整数,我得到错误:

TypeError: 'int' object is not iterable

执行此操作的正确方法是什么?

编辑:我相信每个键都有一个值。但是,假设没有。如果找不到值,我将如何重写上面的内容以添加 NaN

最佳答案

.extend() 期望传递给它的参数是一个可迭代的,即。列表或字符串等。根据您的示例,population 是一个整数,因此不可迭代,因此您的异常消息。

如果您将其更改为 .append(),它将按照您的预期运行。

关于python - 从 Python 中的字典列表创建新字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35176406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com