8

私が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)]
4

2 に答える 2

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

列がすでに1つのリストにある場合は、次を使用できます。zip(*cols)

于 2012-08-19T10:20:15.567 に答える
2

コードは次のとおりです。Python3.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)]

Python 2.xでは、zip()構文だけがそれ自体で機能します。上記のコードを使用して、Python 3.xでリストを行単位(またはスプレッドシート列)として結合します。

于 2015-05-09T11:56:28.077 に答える