在同一个lin中切片并从列表中删除

2024-04-23 14:48:05 发布

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

当我这样做时:

abc = [1,2,3,4,5]
dd = (abc[:]).remove(4)
print(dd)
print(abc)

结果是:

None
[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]

有人能解释为什么这两件事是不同的吗?我想也是这样。你知道吗


Tags: none两件事ddremoveabcprint
2条回答

因为您将.remove()方法的返回值放在dd变量中,而此方法的返回值始终是None


abc = [1,2,3,4,5]
dd = abc[:]
rt_value = dd.remove(4)
print(rt_value)
print(dd)
print(abc)

将产生

None
[1, 2, 3, 5]
[1, 2, 3, 4, 5]

我们可以使用切片操作符(冒号)访问列表中的一系列项。 另外,您可以检查https://docs.python.org/2/library/copy.html以获得更好的理解。你知道吗

相关问题 更多 >