当我这样做时:
abc = [1,2,3,4,5]
dd = (abc[:]).remove(4)
print(dd)
print(abc)
结果是:
没有
[1、2、3、4、5]
但如果我这样做:
abc = [1,2,3,4,5]
dd = abc[:]
dd.remove(4)
print(dd)
print(abc)
结果是:
[1、2、3、5]
[1、2、3、4、5]
有人可以解释为什么这两件事不同吗?我认为它也会这样做。
答案 0 :(得分:3)
因为您将.remove()
方法的返回值放入了dd
变量中,并且该方法的返回值始终为None
abc = [1,2,3,4,5]
dd = abc[:]
rt_value = dd.remove(4)
print(rt_value)
print(dd)
print(abc)
将导致
没有
[1、2、3、5]
[1、2、3、4、5]
答案 1 :(得分:0)
我们可以使用切片运算符(冒号)访问列表中的一系列项目。 另外,您可以检查https://docs.python.org/2/library/copy.html以获得更好的理解。