繁体   English   中英

Python从三个列表创建特定的字典

[英]Python create a specific dict from three list

我有三个清单,我想转换成特定的字典

A = ["a", "b"]
B = ["10", "20"]
C = ["key1", "key2"]

我想要这样的字典

"key1": {
  "name": "a",
  "age": 10
},
"key2": {
    "name": "b",
    "age": 20
  }

我通过不同的步骤尝试不同的方法,但是我没有得到这个指示

for key in A:
  dict_A["name"].append(key)

使用字典理解:

res = {key: {'name': name, 'age': age} for key, name, age in zip(C, A, B)}

这给出:

{'key1': {'age': '10', 'name': 'a'}, 'key2': {'age': '20', 'name': 'b'}}

zip允许您按索引聚合每个可迭代元素。

如果您不想使用zip则可以使用如下所示的enumerate

print ({v:{"name": A[k],"age": B[k]} for k, v in enumerate(C)})
In[1]:  {c: {'name': a, 'age': b} for a, b, c in zip(A, B, C)}
Out[1]: {'key1': {'name': 'a', 'age': '10'}, 'key2': {'name': 'b', 'age': '20'}}

怎么样

for a,b,c in zip(A, B, C):
    your_dict[c] = {"name" : a, "age": b} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM