我有两个相互关联的列表
name=['pablo','rob','rahul','roni']
和
age=[21,23,20,24]
我必须使用这两个列表创建一个元组。
最终输出应该是 数据= {'巴勃罗':21,'抢劫':23,'的Rahul':20,'罗尼':24}。
并且给出上述问题的输出。如何取回原始列表,即' name'和'年龄'。
如何使用python命令执行此操作?
答案 0 :(得分:2)
您可以使用zip()
function配对列表;将其直接传递给dict()
以生成您的字典:
data = dict(zip(name, age))
zip()
生成一个迭代器,它为每个输入配对的每个元素提供元组。 dict()
非常乐意接受这些对并将其解释为键值对。
演示:
>>> name=['pablo','rob','rahul','roni']
>>> age=[21,23,20,24]
>>> zip(name, age)
<zip object at 0x10a6d0e08>
>>> list(zip(name, age))
[('pablo', 21), ('rob', 23), ('rahul', 20), ('roni', 24)]
>>> dict(zip(name, age))
{'roni': 24, 'pablo': 21, 'rahul': 20, 'rob': 23}
考虑到字典顺序是任意的,因此list()
和dict()
对顺序不同。
答案 1 :(得分:1)
>>> name = ['pablo','rob','rahul','roni']
>>> age = [21,23,20,24]
>>> {n: a for n, a in zip(name, age)}
{'pablo': 21, 'rahul': 20, 'rob': 23, 'roni': 24}