【发布时间】:2020-11-02 11:13:20
【问题描述】:
我想连接几个存储在列表中的数组。数组的长度不同。我已经阅读了this solution,但不幸的是我无法解决我的问题。这是简化的输入数据:
arr_all= [array([[1 ,2 , 10],
[5, 8, 3]]),
array([[1, 0, 5]]),
array([[0, 1, 8]]),
array([[9, 13, 0]]),
array([[2, 10, 2],
[1.1, 3, 3]]),
array([[25, 0, 0]])]
n_data_sets=2
n_repetition=3
现在,我想合并(连接)第一个数组 arr_all (arr_all[0]) 和第四个数组 (arr_all[3]),第二个数组 (arr_all[1]) 和第五个数组 (arr_all[4])第三个(arr_all[2])和最后一个(arr_all[5])。事实上,这里我有两个数据集(n_data_sets=2),它们重复了三次(n_repetition=3)。实际上,我有几个重复数十次的数据集。我想将每个数据集放在我列表的单个数组中。我可以说输入是根据重复排序的,但我想根据每次重复的数据集进行排序。我的预期结果是:
arr_all= [array([[1, 2 , 10],
[5, 8, 3],
[9, 13, 0]]),
array([[1, 0, 5],
[2, 10, 2],
[1.1, 3, 3]]),
array([[0, 1, 8],
[25, 0, 0]])]
我的输入数据是一个包含六个数组的列表(n_repetition 次 n_data_sets),但我的结果包含 n_repetition 数组。
提前感谢任何反馈。
【问题讨论】:
-
在内部循环中使用双 for 循环和
range(i,len(arr_all),n_repetition),如果您使用元素[i]开始串联,则使用range(i+n_repetition,len(arr_all),n_repetition) -
亲爱的@rioV8。感谢您的反馈。你能再解释一下吗?如何使用双循环?非常感谢您的宝贵时间。