在Python中删除列表的最后一个元素

时间:2018-05-16 16:30:28

标签: python list

我一直在用Python编写一个项目,编写一个基本上是mastermind数字版本的小游戏。无论如何,我在程序中遇到了一个错误,我很好奇为什么会这样:

我有一个列表,当删除列表的最后一个元素时,其余元素的顺序发生了变化。例如:

myList = [4, 4, 5, 4]

myList.remove(myList[3])

列表的内容现在是[4, 5, 4]而不是[4, 4, 5]。大多数其他数字组合都没有发生这种情况,这就是为什么我感到困惑。另外,如果我改为使用:

myList = myList[:-1]

这是有效的,内容的顺序正确...有谁知道为什么在这种情况下删除第一种方式的最后一个元素不起作用?

2 个答案:

答案 0 :(得分:3)

myList.remove(myList[3])

与做

相同
myList.remove(4)

并删除始终删除第一个实例。你应该尝试:

del a[-1]

或@Megalng提到

a.pop()

还会返回已删除的元素

答案 1 :(得分:-3)

del myList[-1]

喜欢蟒蛇