要将两个列表转换为字典,我们可以使用dict(zip(listA, listB))
listA = ['Jones', 'John', 'Jack']
listB = [50, 35, 40]
dict(zip(listA, listB))
>>>>{'Jack': 40, 'John': 35, 'Jones': 50}
但是我能做些什么来实现这样的目标?
>>>>{'Jack': 'Age:40', 'John': 'Age:35', 'Jones': 'Age:50'}
我尝试了dict(zip(listA, str('Age:')+listB))
,但得到了TypeError: must be str, not list
感谢那些提供解决方案的人。很感激。
答案 0 :(得分:2)
您的输出不是有效的Python语法。
您可以做的最好的事情是通过理解来创建嵌套字典:
listA = ['Jones', 'John', 'Jack']
listB = [50, 35, 40]
res = {x: {'Age': y} for x, y in zip(listA, listB)}
# {'Jack': {'Age': 40},
# 'John': {'Age': 35},
# 'Jones': {'Age': 50}}
答案 1 :(得分:1)
根据此stackoverflow answer,您可以使用地图:
map('Age{0}'.format, listB)
这样:
res = dict(zip(listA, list(map('Age:{0}'.format, listB))))
但它的可读性不高,imho。