访问python 2D数组

时间:2013-01-11 02:28:24

标签: python multidimensional-array

假设我们有:

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

访问数组的最快方法是什么,这样我们得到每个列表中的第一个元素,而不是循环。

我希望结果给我...... 1,4

4 个答案:

答案 0 :(得分:2)

使用zip(* a)

a = [[1, 2, 3], [2, 3, 4]]
result = zip(*a)[0]
print result

答案 1 :(得分:2)

快速简便的方法是提取a[0][0]a[1][0],但根据您使用的内容,这可能不会一直有效。

答案 2 :(得分:2)

没有循环,你需要像ethg242那样展开循环。这样做的缺点是只能使用a

的固定长度

这是列表理解

[i[0] for i in a]

也可以使用map(),但这也有一个隐式循环

from operator import itemgetter
map(itemgetter(0), a)

答案 3 :(得分:2)

你可能想要考虑numpy:

>>> import numpy as np
>>> a = [[1, 2, 3], [4, 5, 6]]
>>> b = np.array(a)
>>> b[:,0]
array([1, 4])