在python中的方法中将列表的值复制到另一个列表中

day*_*v89 -1 python list

x = []        
p = []       

def init():
    for _ in range (n):
         x.append(random())
    # loop end here

    p = x[:]
    # or
    p = deepcopy(x)
# init method end here
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我想将x的副本精确到p.但是在调用函数x之后,list有n个元素,但是p是空列表.我不知道如何将x值复制到p中.我写global p

mhl*_*ter 6

如上所述,您正在创建一个p带有副本的新本地对象x,但保持全局p不变.如果要改变全局列表p,这可能是最好的方法:

p[:] = x
Run Code Online (Sandbox Code Playgroud)

从本质上讲,它意味着"用x中的所有项目替换p中的所有内容"

  • `p [:] = x`就足够了,不需要复制项目*两次.* (2认同)