📅  最后修改于: 2023-12-03 15:18:56.397000             🧑  作者: Mango
在 Python 中,我们可以通过使用列表(List)来存储一组数据。但是,有时我们需要从列表中删除一些元素,这时就需要使用 pop() 方法来删除元素了。
如果没有加入任何参数,默认会删除列表中的最后一个元素,并返回被删除的元素值。
>>> a = [1, 2, 3, 4, 5]
>>> b = a.pop()
>>> print(b)
5
>>> print(a)
[1, 2, 3, 4]
但是在实际开发中,我们往往不知道列表中到底有多少个元素,如果不小心传入了错误的索引,就可能导致程序运行出错。
为此,我们可以使用安全弹出的方法,避免这个问题产生。
安全弹出的方法是通过将要删除的元素的索引作为 pop() 方法的参数来实现。但是,我们需要先判断一下该索引是否在列表的合法范围内,如果不在,就不删除。
if index >= 0 and index < len(a):
b = a.pop(index)
完整的安全弹出的代码如下:
def safe_pop(lst, index=-1):
if index >= 0 and index < len(lst):
return lst.pop(index)
else:
return None
以下是该函数的使用示例:
a = [1, 2, 3, 4, 5]
# 安全弹出最后一个元素
b = safe_pop(a)
print(b) # 5
print(a) # [1, 2, 3, 4]
# 安全弹出第二个元素
c = safe_pop(a, 1)
print(c) # 2
print(a) # [1, 3, 4]
# 索引不在合法范围内,不弹出任何元素
d = safe_pop(a, 5)
print(d) # None
print(a) # [1, 3, 4]
通过使用这个方法,我们可以避免由索引越界引起的程序崩溃,让程序更加稳定可靠。