复制数组Python

时间:2018-10-24 15:37:44

标签: python arrays

我想在数组内部复制一个数组,以解决重复的单独数组。我拥有的数据用于成千上万的数字,但是为了简化起见,这就是我想要的:

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

以上是我在代码中所确切拥有的,第一个数组的长度加倍,但是第二个数组的长度不加。

5 个答案:

答案 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)