我有序列的列表,每個序列有兩個項目。我想把它變成兩個列表。
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