我有三个列表,我想用它们建立一个字典:
a = [a,b,c]
b = [1,2,3]
c = [4,5,6] 我希望有:
{'a':1,4, 'b':2,5, 'c':3,6}我现在能做的就是:
{'a':1,'b':2, 'c':3}我该怎么办?
发布于 2017-08-26 17:37:06
你可以试试这个:
a = ["a","b","c"]
b = [1,2,3]
c = [4,5,6]
new_dict = {i:[j, k] for i, j, k in zip(a, b, c)}输出:
{'b': [2, 5], 'c': [3, 6], 'a': [1, 4]}如果您真的想要一个排序结果,可以尝试如下:
from collections import OrderedDict
d = OrderedDict()
for i, j, k in zip(a, b, c):
d[i] = [j, k]现在,您有一个按字母顺序排列键的OrderedDict对象。
发布于 2017-08-26 17:36:06
检查这个:我建议的how to zip two lists into new one首先压缩b和c列表,然后再使用zip将它们映射到字典中:
a = ['a','b','c']
b = [1,2,3]
c = [4,5,6]
vals = zip(b,c)
d = dict(zip(a,vals))
print(d)发布于 2017-08-30 09:03:18
a = ['a','b','c']
b = [1,2,3]
c = [4,5,6]
result = { k:v for k,*v in zip(a,b,c)}结果
print(result)https://stackoverflow.com/questions/45898009
复制相似问题