python干货:pop()函数的用法[弹出删除功能]

什么是弹出功能?

使用pop()删除元素是将元素从列表中删弹出,术语弹出(pop)源自这样的类比:列表像一个栈,而删除列表末尾的元素就相当于弹出栈顶元素

方法pop()删除并返回列表中的最后一个元素。 有一个可选参数,它是要从列表中删除的元素的索引。 如果未指定索引,则a.pop()删除并返回列表中的最后一项。 如果传递给pop()方法的索引不在范围内,则会引发IndexError:pop index out of range异常。



这里需要注意的是,当我们使用pop函数时,当后面的括号没有写位置的时候,系统默认是选择最后的一个位置进行删除的。

利用(pop)将删除的列表元素进行存储

motorcycles=['honda','yamaha','suzuki']
print(motorcycles)#定义并打印列表元素
popped_motorcycles=motorcycles.pop()#将删除的数据存储在popped_中
print(motorcycles)
print(popped_motorcycles)

输出:



pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

语法:list.pop(obj=list[-1])       //默认为 index=-1,删除最后一个列表值。

obj -- 可选参数,要移除列表元素的对象。

该方法返回从列表中移除的元素对象。

sentence=['All', 'good', 'things', 'come', 'to' ,'those', 'who', 'wait.']

print("默认为 index=-1,删除最后一个列表值:",sentence.pop(-1),"\n")
print("默认删除最后一个列表值: ",sentence.pop(),"\n")
print("删除第一个元素:",sentence.pop(0),"\n")
print("删除第三个元素:",sentence.pop(2),"\n")
print("输出剩余元素:",sentence)

运行结果为:(该方法返回从列表中移除的元素对象。)每执行print()一下就移除一个



二、 单独执行每一行print()函数:

sentence=['All','good','things','come','to','those','who','wait']
print("默认为 index=-1,删除最后一个列表值:",sentence.pop(-1),"\n")
sentence1=['All','good','things','come','to','those','who','wait']
print("默认删除最后一个列表值:",sentence1.pop(),"\n")
sentence2=['All','good','things','come','to','those','who','wait']
print("删除第一个元素:",sentence2.pop(0),"\n")
sentence3=['All','good','things','come','to','those','who','wait']
print("删除第三个元素:",sentence3.pop(1),"\n")

运行结果如下:



基本堆栈功能

pop()方法通常与append()结合使用,以在Python应用程序中实现基本的堆栈功能。

stack = []
 
for i in range(5):
    stack.append(i)
 
while len(stack):
    print(stack.pop())

List方法非常容易地将列表用作堆栈,其中添加的最后一个元素是检索到的第一个元素(“后入先出”)。若要将项添加到堆栈顶部,请使用append()。若要从堆栈顶部检索项,请使用pop()没有明确的索引。例如:

>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]

发布于 2020-12-04 17:30