当我做:
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]
有人可以解释为什么这两件事情有所不同?我认为它会做同样的事情。
因为你把.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]
我们可以使用切片运算符(冒号)访问列表中的一系列项目。此外,您可以检查https://docs.python.org/2/library/copy.html以便更好地理解。