如何制作包含前一个的新列表

时间:2015-04-09 15:30:14

标签: python

我正在尝试制作一个新列表:

t1=['Jon','Sali','Sara']
t2=[7,12,23]

如何创建一个新列表(t3),其中包含以名称排列的先前列表元素,然后是年龄,如:

t3=['Jon',7]

1 个答案:

答案 0 :(得分:2)

您可以使用zip创建预期的对:

>>> t1=['Jon','Sali','Sara']
>>> t2=[7,12,23]
>>> zip(t1,t2)
[('Jon', 7), ('Sali', 12), ('Sara', 23)]

如果你只是想让列表使用map将元组转换为列表:

>>> l=map(list,zip(t1,t2))
[['Jon', 7], ['Sali', 12], ['Sara', 23]]

然后,您将在一个列表中拥有所有(name,age)对,并且您可以通过索引访问它们:

>>> l[0]
['Jon', 7]

或者您可以创建字典:

>>> d={'t{}'.format(i):(k,v) for i,(k,v) in enumerate(zip(t1,t2))}
>>> d['t0']
('Jon', 7)