我想在数组内部复制一个数组,以解决重复的单独数组。我拥有的数据用于成千上万的数字,但是为了简化起见,这就是我想要的:
a = [1,2,3,4,5]
b = [2,6,5,7,3]
new_a = [1,2,3,4,5,1,2,3,4,5]
new_b = [2,6,5,7,3,2,6,5,7,3]
#array b
magnitude = data[:,1]
# phaseresult_i is array a
for t in range(len(time)):
floor = math.floor((time[t]-time[0])/(bestperiod))
phase_i = ((time[t]-time[0])/(bestperiod))-floor
phaseresult_i.append(phase_i)
newphaseresult_i = phaseresult_i +phaseresult_i
newmagnitude = magnitude + magnitude
以上是我在代码中所确切拥有的,第一个数组的长度加倍,但是第二个数组的长度不加。
答案 0 :(得分:1)
只需使用+
运算符:
a = [1,2,3,4,5]
b = [2,6,5,7,3]
new_a = a + a
new_b = b + b
答案 1 :(得分:1)
假设您想重复一次以上的连接,您可以使用itertools
recipe来进行延迟操作(但是如果您将n=2
设置为一次重复,它仍然可以工作)。
from itertools import chain, repeat
def ncycles(iterable, n):
"Returns the sequence elements n times"
return chain.from_iterable(repeat(tuple(iterable), n))
a = [1,2,3,4,5]
b = ncycles(a, 3)
然后在list()
上调用b
或对其进行迭代。对于大型数组,这将更有效,并且比使用+
串联更方便。
答案 2 :(得分:1)
您可以使用+运算符:
a = [1,2,3,4,5]
b = [2,6,5,7,3]
new_a = a+a
new_b = b+b
print(new_a) #[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
print(new_b) #[2, 6, 5, 7, 3, 2, 6, 5, 7, 3]
答案 3 :(得分:0)
您可以简单地将旧数组添加到自身中。
new_a = a + a
new_b = b + b
答案 4 :(得分:0)
如果您要创建新变量,则+运算符将起作用。
a = [1,2,3,4,5]
b = [2,6,5,7,3]
new_a = a + a
new_b = b + b
或者,如果您只想更改列表,则可以使用.extend
a = [1,2,3,4,5]
b = [2,6,5,7,3]
a.extend(a)
b.extend(b)