python - 包含字典列表的字典

标签 python dictionary

这里是新手,对于重复/愚蠢的问题深表歉意,但我找不到答案。

我正在尝试将(字典)列表的内容存储到新字典中。

a={}
b=[]
c={"Name":"Claude","Surname":"Verde","Age":"35","City":"Paris"}
b.append(c)
c={"Name":"Jean","Surname":"Claude","Age":"22","City":"Paris"}
b.append(c)
c={"Name":"Sam","Surname":"Smith","Age":"42","City":"London"}
b.append(c)
c={"Name":"James","Surname":"Jones","Age":"44","City":"London"}
b.append(c)
for i in range(len(b)):
    if b[i]['City'] == 'Paris':
        a["Paris"]=([b[i]])
    elif b[i]['City'] == 'London':
        a["London"]=([b[i]])
a

结果:

{'Paris': [{'Name': 'Jean',
   'Surname': 'Claude',
   'Age': '22',
   'City': 'Paris'}],
 'London': [{'Name': 'James',
   'Surname': 'Jones',
   'Age': '44',
   'City': 'London'}]}

但是,我想要一个包含一个城市所有居民的字典。

上面的代码只存储列表中的第二个,而不是第一个。

即希望得到以下输出。

我怎样才能做到这一点?

非常感谢任何帮助。谢谢

{'Paris': [{'Name': 'Claude',
   'Surname': 'Verde',
   'Age': '35',
   'City': 'Paris'},{'Name': 'Jean',
   'Surname': 'Claude',
   'Age': '22',
   'City': 'Paris'}],
 'London': [{'Name': 'Sam',
   'Surname': 'Smith,
   'Age': '42',
   'City': 'London'},{'Name': 'James',
   'Surname': 'Jones',
   'Age': '44',
   'City': 'London'}]}

最佳答案

当你初始化 a 时,我会这样处理它:

a = {}

b=[]
c={"Name":"Claude","Surname":"Verde","Age":"35","City":"Paris"}
b.append(c)
c={"Name":"Jean","Surname":"Claude","Age":"22","City":"Paris"}
b.append(c)
c={"Name":"Sam","Surname":"Smith","Age":"42","City":"London"}
b.append(c)
c={"Name":"James","Surname":"Jones","Age":"44","City":"London"}
b.append(c)

for i in range(len(b)):
    if b[i]['City'] not in a.keys():
        a[b[i]['City']] = []

for i in range(len(b)):
    a[b[i]['City']].append(b[i]])

注意事项: 我很确定您可以像这样组合这些 for 循环:

for i in range(len(b)):
    if b[i]['City'] not in a.keys():
        a[b[i]['City']] = []
    a[b[i]['City']].append(b[i]])

关于python - 包含字典列表的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51677489/

相关文章:

python - 将 0 替换为数据框 Python Pandas 中的空白

python - Pandas:包含变量名称和值的多列:如何使用 Pivot?

python - matplotlib中的y_label被截断

python - django-taggit - 在 django-admin 添加记录页面上显示现有标签

java - 将 <Object, Object> 放入 TreeMap 时出错

python - Matplotlib:更改附加轴的定位器

java - 无法从 Netbeans 中的 Mysql 检索数据

python - 在 Python 中,字典按值排序,但只返回键

c++ - 在 C++ 中访问 map 的相邻元素

dictionary - 条件 jsonpath 表达式在 groovy 脚本、jmeter 中不起作用