切片并从同一行中的列表中删除

时间:2019-04-13 20:20:29

标签: python python-3.x list slice

当我这样做时:

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]

有人可以解释为什么这两件事不同吗?我认为它也会这样做。

2 个答案:

答案 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以获得更好的理解。