Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
:用于在python 3.1中显示多维数组中的所有元素_Python_Arrays_Python 3.x - Fatal编程技术网

:用于在python 3.1中显示多维数组中的所有元素

:用于在python 3.1中显示多维数组中的所有元素,python,arrays,python-3.x,Python,Arrays,Python 3.x,我在python中有一个多维数组,如: arr = [['foo', 1], ['bar',2]] 现在,如果要打印阵列中的所有内容,可以执行以下操作: print(arr[:][:]) 或者我也可以只做打印(arr)。但是,如果我只想打印每个框的第一个元素(对于arr,这将是'foo','bar'),我会想象我会这样做: 打印(arr[:][0]) 然而,这只是打印出第一个数据博客(['foo',1]),而且,我尝试将其反转(以防万一): 打印(arr[0][:]) 我也得到了同样的结果。

我在python中有一个多维数组,如:

arr = [['foo', 1], ['bar',2]]
现在,如果要打印阵列中的所有内容,可以执行以下操作:

print(arr[:][:])
或者我也可以只做打印(arr)。但是,如果我只想打印每个框的第一个元素(对于arr,这将是'foo','bar'),我会想象我会这样做:

打印(arr[:][0])

然而,这只是打印出第一个数据博客(['foo',1]),而且,我尝试将其反转(以防万一):

打印(arr[0][:])

我也得到了同样的结果。那么,我是否可以让它打印每个元组中的第一个元素(除了:

for tuple in arr:
    print(tuple[0])

)??谢谢。

您可以转置数组,例如

>>> list(zip(*arr))[0]
('foo', 'bar')
zip()将比原始解决方案慢一点。如果您不喜欢原始解决方案,因为它需要多行代码,则始终可以执行以下操作:

[i[0] for i in arr]

zip()内部有一个for循环,因此使用zip()不能比for循环快。

我认为可能对python如何解析索引有误解。您可以将任意数量的
[:]
钉到阵列上,您将得到相同的东西

>>> arr = [['foo', 1], ['bar',2]]
>>> print arr[:][:][:][:]
[['foo', 1], ['bar', 2]]

当您返回实际的类似列表的对象时,第二个
[]
仅索引到第二个维度。听起来你想要Matlab语法,比如
arr[:,0]
,你需要使用类似numpy的东西。

只是一个解释:你的
print(arr[:][:])
从arr的所有项中获取所有项。它在功能上与
print(arr)
print(arr[:])
print(arr[:][:])
print(arr[:])(arr[:][:][:][:][:][:][:][:][:][:][:][:][:][:])