逐行组合列表(Python)

时间:2012-08-19 10:18:09

标签: python list

假设我有3个不同的列表

col1 = ['2006-03-28','2006-04-05','2006-04-06']
col2 = ['IBM', 'MSFT', 'IBM']
col3 = [1000, 1000, 500]

将这些列表组合在另一个列表中的最有效方法是:

col = [('2006-03-28', 'IBM', 1000),
       ('2006-04-05', 'MSFT', 1000),
       ('2006-04-06', 'IBM', 500)]

2 个答案:

答案 0 :(得分:13)

>>> col1 = ['2006-03-28','2006-04-05','2006-04-06']
>>> col2 = ['IBM', 'MSFT', 'IBM']
>>> col3 = [1000, 1000, 500]
>>> zip(col1, col2, col3)
[('2006-03-28', 'IBM', 1000), ('2006-04-05', 'MSFT', 1000), ('2006-04-06', 'IBM', 500)]

如果您的列已在一个列表中,则可以使用zip(*cols)

答案 1 :(得分:0)

代码如下: Python 3.x

>>> col1 = ['2006-03-28','2006-04-05','2006-04-06']
>>> col2 = ['IBM', 'MSFT', 'IBM']
>>> col3 = [1000, 1000, 500]

>>> col = list(zip(col1 ,col2 ,col3 ))

>>> print(str(col))

[('2006-03-28', 'IBM', 1000),
 ('2006-04-05', 'MSFT', 1000),
 ('2006-04-06', 'IBM', 500)]

它的zip()语法只适用于Python 2.x. 使用上面的代码在Python 3.x中将列表合并为行(或电子表格列)。