python 交织两个数组[重复]

hfyxw5xn  于 2023-02-11  发布在  Python
关注(0)|答案(1)|浏览(141)
    • 此问题在此处已有答案**:

Creation of numpy array from two arrays, such that alternate indices contain elements from different arrays [duplicate](2个答案)
Pythonic way to combine (interleave, interlace, intertwine) two lists in an alternating fashion?(26个答案)
17小时前关门了。
使用Matlab,我可以轻松地运行:

a = [0 0 0 0 0]
b = [1 1 1 1]

a(1:1:end) = b

要获得:a = [0 1 0 1 0 1 0 1 0]
如何使用Python实现这一点?

laximzn5

laximzn51#

在Python中,使用切片和列表连接可以得到与MATLAB相同的结果,下面是一个例子:

a = [0, 0, 0, 0, 0]
b = [1, 1, 1, 1]

c = b * (len(a) // len(b)) + b[:len(a) % len(b)]
a = [c[i % len(b)] for i in range(len(a))]

print(a)  # Output: [0, 1, 0, 1, 0, 1, 0, 1, 0]

在此示例中,B被重复并连接以匹配a的长度。然后,a的每个元素被分配以重复并连接的b中的相应值。

相关问题