Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python删除列表中最后几个组件_Python - Fatal编程技术网

使用python删除列表中最后几个组件

使用python删除列表中最后几个组件,python,Python,排序后,我想删除列表a中的最后两个元素,但出现以下错误: a=[3,2,2,3] a.sort() a.pop(a[3]) print(a) a.pop(a[2]) print(a) [2,2,3] 回溯(最近一次呼叫最后一次): 文件“E:/Project/8.py”,第5行,在 a、 流行音乐(a[2]) 索引器:弹出索引超出范围 首先,pop只需删除最后一个元素,无需指定参数。 删除排序,因为它不会有太大变化,您可以得到: [2, 2, 3] Traceback (most re

排序后,我想删除列表
a
中的最后两个元素,但出现以下错误:

a=[3,2,2,3]
a.sort()
a.pop(a[3])
print(a)
a.pop(a[2])
print(a)
[2,2,3]
回溯(最近一次呼叫最后一次):
文件“E:/Project/8.py”,第5行,在
a、 流行音乐(a[2])
索引器:弹出索引超出范围

首先,
pop
只需删除最后一个元素,无需指定参数。 删除排序,因为它不会有太大变化,您可以得到:

  [2, 2, 3]
  Traceback (most recent call last):
    File "E:/Project/8.py", line 5, in <module>
    a.pop(a[2])
  IndexError: pop index out of range
它应该做你想做的事

更多上下文和解释

就好像您可以选择将参数指定为
pop
——它接受要删除的元素的索引。 因此,在更简单的代码中:

a=[2,2,3,3]
a.pop()
print(a)
a.pop()
print(a)
这意味着:

  • a[3]
    -取列表的第三个元素,它是3(记住这是0索引)
  • 所以在这种情况下,
    a.pop(a[3])
    恰好与
    a.pop(3)
  • 所以它删除了第三个元素

现在发生错误的原因是执行了
a.pop(a[2])
,这又是一个3,并且列表太短

首先,
pop
能够删除最后一个元素,不需要指定参数。 删除排序,因为它不会有太大变化,您可以得到:

  [2, 2, 3]
  Traceback (most recent call last):
    File "E:/Project/8.py", line 5, in <module>
    a.pop(a[2])
  IndexError: pop index out of range
它应该做你想做的事

更多上下文和解释

就好像您可以选择将参数指定为
pop
——它接受要删除的元素的索引。 因此,在更简单的代码中:

a=[2,2,3,3]
a.pop()
print(a)
a.pop()
print(a)
这意味着:

  • a[3]
    -取列表的第三个元素,它是3(记住这是0索引)
  • 所以在这种情况下,
    a.pop(a[3])
    恰好与
    a.pop(3)
  • 所以它删除了第三个元素

现在发生错误的原因是执行了
a.pop(a[2])
,这又是一个3,并且列表太短

只需使用pop函数两次,不使用如下参数:

a=[3,2,2,3]
a.pop(a[3])

只需使用pop函数两次,无需如下参数:

a=[3,2,2,3]
a.pop(a[3])

出现错误的原因是,您通过从列表中检索整数来查找要弹出的索引,因此通过执行
a[2]
,您首先获取值
3
,显然这超出了列表的范围


如前所述,只需调用
pop
而不使用参数-
pop()

就会出现错误,原因是您通过从列表中检索整数来查找要弹出的索引,也就是通过执行
a[2]
,您首先获取值
3
,显然这超出了列表的范围


如前所述,只需调用
pop
,而不使用参数-
pop()
pop(i)
即可在列表中的索引
i
处弹出元素。如果执行
a.pop(a[3])
,则在索引
a[3]=3
处弹出元素。如果要弹出最后一个元素,只需在没有任何参数的情况下执行
a.pop()
,它将隐式弹出最后一个元素。

pop(i)
在列表中的索引
i
处弹出元素。如果执行
a.pop(a[3])
,则在索引
a[3]=3
处弹出元素。如果要弹出最后一个元素,只需在没有任何参数的情况下执行
a.pop()
,它将隐式弹出最后一个元素。

只需使列表等于其自身减去最后两个元素即可

a.pop()
a.pop()

只需使列表等于其自身减去最后两个元素

a.pop()
a.pop()

如果要删除最后的元素,则不需要向pop传递参数。只需调用a.pop()两次


问题在于,您传递的不是索引,而是处于确定位置的数组的值。当弹出[3]时,值为3,该索引不再存在,因为数组大小为3,最后一个索引为2。

如果要删除最后一个元素,不需要向弹出传递参数。只需调用a.pop()两次


问题在于,您传递的不是索引,而是处于确定位置的数组的值。当您弹出[3]时,值为3,该索引不再存在,因为数组大小为3,最后一个索引为2。

其他人已经指出了您的使用错误

更简单的是,只需从列表中选择您想要的部分:

a=[3,2,2,3]
a.sort()
a=a[:-2]
这将对列表进行排序,去掉最后两个条目,并将结果分配回
a

a = sorted(a)[:-2]

其他人已经指出了您的使用错误

更简单的是,只需从列表中选择您想要的部分:

a=[3,2,2,3]
a.sort()
a=a[:-2]
这将对列表进行排序,去掉最后两个条目,并将结果分配回
a

a = sorted(a)[:-2]

您没有正确使用
pop
:如果您给它一个参数,它应该是您想要弹出的索引,而不是您想要弹出的值(并且
a[3]
给出了索引3处的值,而您真正想要的只是索引3)。请参阅下面的答案,了解工作代码。谢谢你的帮助!对于一个简单的Python问题,有7个答案,但对问题本身没有投票权?您没有正确使用
pop
:如果您给它一个参数,它应该是您想要弹出的索引,而不是您想要弹出的值(并且
a[3]
给出了索引3处的值,而您真正想要的只是索引3)。请参阅下面的答案,了解工作代码。谢谢你的帮助!一个简单的Python问题有7个答案,而问题本身没有投票权?