簡體   English   中英

重新排列數組的數組(python)

[英]rearranging an array of arrays (python)

所以我有一個數組數組

[array([-0.05504106,  4.21890792]), array([-0.05504106,  4.21890792]), array([-0.0533802 ,  4.10717668]), array([-0.0546635 ,  4.19501313])]

我試圖做的是將其放入2個數組的數組中,其中的各個組件按如下方式組合在一起:

[array([-0.05504106, -0.05504106, -.0533802, -.0546635]), array([4.21890792, 4.21890792, 4.10717668, 4.19501313])

我嘗試了多種方法。 第一個如下:

for i in range(len(array_1)-1):
zipped = zip(array_1[i], array_1[i+1], array_1[i+2])
print zipped

然而,這種方法具有增加一個的缺點array_1[i+n]為在每個附加陣列array_1 如果array_1有許多數組,則根本不可行。

我嘗試的下一件事是嘗試將itertools.repeat與上述代碼結合使用,如下所示:

for i in range(len(array_1)-1):
zipped = zip(itertools.repeat(array_1[i], len(array_1))
print zipped

但是,這沒有達到我想要的方式。

您能給我一些我如何完成這項任務的想法嗎? 我應該使用zip和/或intertools.repeat嗎?

我不確定您使用的是哪個array類,但是通過簡單的列表,您可以使用zip:

a = [[-0.05504106, 4.21890792], [-0.05504106, 4.21890792], [-0.0533802, 4.10717668],[-0.0546635, 4.19501313]]

b = list(zip(*a)) #omit list in python2
print(b)

打印:

[(-0.05504106, -0.05504106, -0.0533802, -0.0546635), (4.21890792, 4.21890792, 4.10717668, 4.19501313)]

暫無
暫無

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

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