![](/img/trans.png)
[英]Dividing all elements in a multidimensional array by an array of numbers Numpy Python
[英]: 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.