变量本身在变化?

2024-10-02 22:24:29 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我正在做一个项目,这段代码很有趣。我想要一个函数,它可以获取一个列表(list1),复制该列表(list2),并且只从副本中修剪某些对象。我只写了代码从副本中减去项目,因为原件也一直在变我只是不明白原始列表(列表1)是如何被减去的。代码在下面,提前感谢你的帮助。。在

def copyandtrim(w, x, y, z):
    list1 = [w, x, y ,z]
    list2 = []
    list2 = (list1)

    testlen = (len(list2))

    for y in range(testlen - 1):
        if (list2[y])[2] == 0:
            list2.remove(list2[y])
        else:
            pass

Tags: 项目对象函数代码in列表forlen
3条回答

为了在list2中复制list1,您应该执行以下操作:

list2 = list1[:]

但是要小心,使用list2.remove(list2[y])会改变list2,因此还会移动更多的索引。我建议您选择这个循环:

^{pr2}$

要在python中复制列表,应使用切片操作:

list2 = list1[:] 

list2 = list1实际上并不执行list对象的深度复制。它只是指向list2来引用同一个列表对象。要获得副本,最简单的方法是使用:

list2 = list1[:]

相关问题 更多 >