跳到主要内容

Python 列表 pop() 方法

列表的 pop() 方法移除指定索引处的元素。该方法还会返回被移除的元素。

示例

prime_numbers = [2, 3, 5, 7]

# 移除索引为 2 的元素
removed_element = prime_numbers.pop(2)

print('被移除的元素:', removed_element)
print('更新后的列表:', prime_numbers)

# 输出:
# 被移除的元素: 5
# 更新后的列表: [2, 3, 7]

列表 pop() 的语法

pop() 方法的语法是:

list.pop(index)

pop() 参数

  • pop() 方法接受单个参数(索引)。
  • 传递给方法的参数是可选的。如果没有传递,则默认传递索引 -1 作为参数(最后一个项的索引)。
  • 如果传递给方法的索引不在范围内,它会抛出 IndexError: pop index out of range 异常。

pop() 的返回值

pop() 方法返回给定索引处的元素。这个元素也会从列表中移除。

示例 1:从列表中弹出给定索引处的项

# 编程语言列表
languages = ['Python', 'Java', 'C++', 'French', 'C']

# 移除并返回第 4 个元素
return_value = languages.pop(3)

print('返回值:', return_value)

# 更新后的列表
print('更新后的列表:', languages)

输出

返回值: French
更新后的列表: ['Python', 'Java', 'C++', 'C']

注意: 在 Python 中,索引从 0 而不是 1 开始。

如果你需要弹出第 4 个元素,你需要向 pop() 方法传递 3

示例 2:不带索引的 pop(),以及负索引的 pop()

# 编程语言列表
languages = ['Python', 'Java', 'C++', 'Ruby', 'C']

# 移除并返回最后一个元素
print('当没有传递索引时:')
print('返回值:', languages.pop())

print('更新后的列表:', languages)

# 移除并返回最后一个元素
print('\n当传递 -1 时:')
print('返回值:', languages.pop(-1))

print('更新后的列表:', languages)

# 移除并返回倒数第三个元素
print('\n当传递 -3 时:')
print('返回值:', languages.pop(-3))

print('更新后的列表:', languages)

输出

当没有传递索引时:
返回值: C
更新后的列表: ['Python', 'Java', 'C++', 'Ruby']

当传递 -1 时:
返回值: Ruby
更新后的列表: ['Python', 'Java', 'C++']

当传递 -3 时:
返回值: Python
更新后的列表: ['Java', 'C++']

如果你需要从列表中移除给定项,可以使用 remove() 方法

此外,你可以使用 del 语句从列表中移除项或切片