首页 > 解决方案 > 当数组的数量由循环形成时,如何连接每个元素的这些数组?

问题描述

我有一堆将由循环形成的数组。我知道我可以通过这种方法进行连接,但我只能让它适用于已经建立的数组数量:

y1 = ['C1', 'C2', 'C3']
y2 = ['C4', 'C5', 'C6']
z = np.array([a+b for a, b in zip(y1, y2)])

但是如果我有更多的数组,即如果我有这些数组作为输入到数组 x,我该如何让它工作:

y1 = ['C1', 'C2', 'C3']
y2 = ['C4', 'C5', 'C6']
.
.
.
yx = ['C22', 'C23', 'C24']

我想得到一个输出:

z = ['C1C4...C22', 'C2C5...C23', 'C3C6...C24']

标签: pythonarraysnumpyconcatenationstring-concatenation

解决方案


您可以在创建它们时将所有这些数组存储在另一个数组中,然后zip包含它们的数组如下:

import numpy as np
y1 = ['C1', 'C2', 'C3']
y2 = ['C4', 'C5', 'C6']
y = [y1,y2]
z = np.array(["".join(elem) for elem in zip(*y)])
print(z)

这会给你:

['C1C4' 'C2C5' 'C3C6']

推荐阅读