使用相关列表创建元组

时间:2015-01-21 13:56:13

标签: python python-3.x

我有两个相互关联的列表

name=['pablo','rob','rahul','roni']

age=[21,23,20,24]

我必须使用这两个列表创建一个元组。

最终输出应该是     数据= {'巴勃罗':21,'抢劫':23,'的Rahul':20,'罗尼':24}。

并且给出上述问题的输出。如何取回原始列表,即' name'和'年龄'。

如何使用python命令执行此操作?

2 个答案:

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

使用zipdict comprehension

>>> 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}