Python 列表 pop() 方法



Python 列表pop()方法默认删除并返回列表中的最后一个对象。但是,该方法也接受可选的索引参数,并且将删除列表中索引处的元素。

此方法与remove()方法的区别在于,pop()方法使用索引技术删除对象,而remove()方法遍历列表以查找对象的第一次出现。

语法

以下是Python 列表pop()方法的语法:

list.pop(obj = list[-1])

参数

  • obj − 这是一个可选参数,要从列表中删除的对象的索引。

返回值

此方法返回从列表中删除的对象。

示例

以下示例演示了 Python 列表 pop() 方法的用法。在这里,我们没有向方法传递任何参数。

aList = [123, 'xyz', 'zara', 'abc']
print("Popped Element : ", aList.pop())
print("Updated List:")
print(aList)

运行上述程序时,会产生以下结果:

Popped Element :  abc
Updated List:
[123, 'xyz', 'zara']

示例

但是,如果我们向方法传递索引参数,则返回值将是在给定索引处删除的对象。

aList = ['abc', 'def', 'ghi', 'jkl']
print("Popped Element : ", aList.pop(2))
print("Updated List:")
print(aList)

如果我们编译并运行上面的程序,则输出将显示如下:

Popped Element :  ghi
Updated List:
['abc', 'def', 'jkl']

示例

众所周知,Python 允许负索引,并且从右到左进行。因此,当我们将负索引作为参数传递给方法时,将删除该索引处的元素。

aList = [123, 456, 789, 876]
print("Popped Element : ", aList.pop(-1))
print("Updated List:")
print(aList)

执行上面的程序后,输出如下:

Popped Element :  876
Updated List:
[123, 456, 789]

示例

但是,如果传递给方法的索引大于列表的长度,则会引发 IndexError。

aList = [1, 2, 3, 4]
print("Popped Element : ", aList.pop(5))
print("Updated List:")
print(aList)

让我们编译并运行给定的程序,以产生以下结果:

Traceback (most recent call last):
  File "main.py", line 2, in 
    print("Popped Element : ", aList.pop(5))
IndexError: pop index out of range
python_lists.htm
广告