我有序列的列表,每个序列有两个项目。我想把它变成两个列表。
catalog = [('abc', '123'), ('foo', '456'), ('bar', '789'), ('test', '1337')]
现在我只是在做这样的:
names = []
vals = []
for product in catalog:
names.append(product[0])
vals.append(product[1])
print (names)
print (vals)
它输出两个列表,并且工作得很好:
['abc', 'foo', 'bar', 'test']
['123', '456', '789', '1337']
有一个整齐的,更 'Python化' 方式这样做?还是应该坚持我拥有的?对编程风格的任何更正或反馈是值得欢迎的,我是新手,并试图学习最佳实践。
这是完美的,谢谢!我从来没有听说过这个功能。我将链接到此功能的文档,供将来的读者阅读。 http://docs.python.org/3.3/library/functions.html#zip –
它简洁而简单,但它的性能如何?在任何其他语言中创建一个十亿个参数将是可怕的。 –
@MarkRansom - 我偶尔也想过这个...... – mgilson