检索嵌套列表中的特定条目

时间:2014-09-24 13:37:53

标签: python list position nested

我是Python和编程的新手,所以如果我不以最有效的方式做事,我会道歉。

假设我有一个清单:

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

我想创建一个名为xCoords的新列表:

xCoords = [1, 2, 1, 1]

我怎么能这样做? 我想要一个可扩展的方法,因为我目前正在处理的问题涉及一个任意长的位置列表。

由于

2 个答案:

答案 0 :(得分:3)

一种简单的方法是使用列表理解

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

答案 1 :(得分:1)

您可以使用zip transpose列表,然后选择带有简单索引的第一行:

>>> 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]

然而,这比列表理解方法更加耗费内存。