簡體   English   中英

:在python 3.1中顯示多維數組中的所有元素

[英]: for displaying all elements in a multidimensional array in python 3.1

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

當您返回實際的類似列表的對象時,第二個[]僅索引到第二個維度。 聽起來您想要使用arr[:,0]類的Matlab語法,您將需要使用numpy之類的語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM