2014-09-24 41 views
0

我是新來的Python和編程的一般,所以我道歉,如果我不以最有效的方式做事。檢索嵌套列表中的特定條目

假設我有一個列表:

Coords = [[1, 1], [2, 1], [1, 2], [1, 1]] 

而且我想打一個新的列表稱爲xCoords:

xCoords = [1, 2, 1, 1] 

我怎麼可能去這樣做呢? 我想要一個可擴展的方法,因爲我目前正在處理的問題涉及任意長的職位列表。

感謝

回答

3

一個簡單的方法是用一個列表理解

xCoords = [i[0] for i in Coords] 
1

您可以用ziptranspose列表中,然後用簡單索引選擇第一行:

>>> Coords = [[1, 1], [2, 1], [1, 2], [1, 1]] 
>>> zip(*Coords) 
[(1, 2, 1, 1), (1, 1, 2, 1)] 
>>> zip(*Coords)[0] 
(1, 2, 1, 1) 
>>> list(zip(*Coords)[0]) 
[1, 2, 1, 1] 

然而,這比列表理解方法的記憶力更強。