在字典中添加字符串

时间:2018-04-10 15:50:17

标签: python string dictionary

要将两个列表转换为字典,我们可以使用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

感谢那些提供解决方案的人。很感激。

2 个答案:

答案 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。