2012-02-22 55 views
1

有沒有什麼辦法從使用理解的python列表中獲取非連續的列?我的意思是,如果我們有一個清單:從列表中獲取不連續的列

a = [[1,2,3],[4,5,6]] 

,我想第一和第三列,即:

[[1,3],[4,6]] 

我可以得到該名單與類似的句子:

[row[1,3] for row in a] 

??

感謝您的幫助!

回答

3
>>> a = [[1,2,3],[4,5,6]] 
>>> from operator import itemgetter 
>>> map(itemgetter(0,2), a) 
[(1, 3), (4, 6)] 
>>> 

或列表理解

>>> [itemgetter(0,2)(i) for i in a] 
[(1, 3), (4, 6)] 
+0

謝謝!這對我的工作會很有幫助! – Ismael 2012-02-22 11:50:31

1

這會工作:

>>> a = [[1,2,3],[4,5,6]] 
>>> [(x[0], x[2]) for x in a] 
[(1, 3), (4, 6)]