博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python pop_Python清单pop()方法
阅读量:2529 次
发布时间:2019-05-11

本文共 6549 字,大约阅读时间需要 21 分钟。

python pop

介绍 (Introduction)

Today we’ll be going the Python list pop() method. We generally have various built-in methods to remove or delete any element from a list in Python. We have del, remove(), as well as the pop() method to accomplish the task. But each one of them has their own differences. Let’s find out how to use the pop() method and what are the benefits of using this method.

今天,我们将使用Python列表pop()方法。 通常,我们有各种内置方法可以从Python中的列表中删除删除任何元素。 我们有delremove()pop()方法来完成任务。 但是他们每个人都有自己的差异。 让我们找出如何使用pop()方法以及使用此方法有什么好处。

Python List pop()方法的工作 (Working of Python List pop() Method)

Basically, the pop() method in Python pops out the last item in a list when no parameter is passed. When passed with some index, the method pops the element corresponding to the index.

基本上,当不传递任何参数时,Python中的pop()方法会弹出列表中的最后一项。 与某些索引一起传递时,该方法将弹出与该索引对应的元素。

Syntax,

句法,

#pop() method syntax in Pythonpop(index)
  • When an index is passed, the method removes the element at the index, as well as returns the same,

    传递索引后 ,该方法将删除索引处的元素,并返回该元素,
  • When nothing is passed, the method removes the last element and returns it where the function was previously called.

    如果没有传递任何内容 ,则该方法将删除最后一个元素,并将其返回到先前调用该函数的位置。

使用Python清单pop() (Using the Python List pop())

Take a look at the example code below, it illustrates the use of the built-in pop() method in python.

看一下下面的示例代码,它说明了python中内置pop()方法的用法。

list1=[0,1,2,3,4,5,6,7,8,9,10]#pop last elementprint("pop() returns :",list1.pop(),"; currently list=",list1)   #pop element at index 0print("pop(0) returns :",list1.pop(0),"; currently list=",list1)#pop element at index 1print("pop(1) returns :",list1.pop(1),"; currently list=",list1)  #pop element at index 2print("pop(2) returns :",list1.pop(2),"; currently list=",list1)    #pop element at index 3print("pop(3) returns :",list1.pop(3),"; currently list=",list1) #pop element at index 4print("pop(4) returns :",list1.pop(4),"; currently list=",list1)

Output:

输出:

List Pop In Python
List pop() In Python
在Python中列出pop()
  • At first, we initialize a list, list1 as [0,1,2,3,4,5,6,7,8,9,10]. On this list, we perform the corresponding pop operation by passing distinct indices

    首先,我们将list1初始化为[0,1,2,3,4,5,6,7,8,9,10]。 在此列表上,我们通过传递不同的索引来执行相应的pop操作
  • pop() – As stated earlier, by default pop() returns and removes the last element from a list. In our case, the last element was 10, which gets popped consecutively

    pop()–如前所述,默认情况下pop()返回并从列表中删除最后一个元素。 在我们的例子中,最后一个元素是10,它会连续弹出
  • pop(0) – This pops the element in the list1, at the 0th position, which is 0 in our case

    pop(0)–弹出list1中位于第0个位置的元素,在本例中为0
  • Similarly, all the operations pop(1), pop(2), pop(3), and pop(4) return the items at their respective indices. Which are 2 4 6 and 8 as we continue to pop elements out of the list.

    类似地,所有操作pop(1),pop(2),pop(3)和pop(4)都会在其各自的索引处返回项目。 当我们继续将元素从列表中弹出时,它们是2 4 6和8。

使用Python清单pop()方法时发生错误 (Errors while using Python List pop() Method)

1.使用Python pop()的IndexError (1. IndexError with Python pop())

While using the Python list pop() method, we encounter an IndexError if the index passed to the method is greater than the list length.

在使用Python列表pop()方法时,如果传递给该方法的索引大于列表长度,则会遇到IndexError

This Error occurs basically when the index provided it out of the list’s range. Let us look at a small example of this:

当索引提供的错误超出列表的范围时,基本上会发生此错误。 让我们看一个小例子:

list1=["John","Charles","Alan","David"]#when index passed is greater than list lengthprint(list1.pop(10))

Output:

输出

Traceback (most recent call last):  File "C:/Users/sneha/Desktop/test.py", line 4, in 
print(list1.pop(10))IndexError: pop index out of rangeProcess finished with exit code 1

In this example, it is clear that the index provided to the pop() method, 10 is larger than the list’s length(4). Hence, we get the IndexError.

在此示例中,很明显提供给pop()方法的索引10大于列表的length( 4 )。 因此,我们得到IndexError

2.列表为空时出错 (2.Error when the list is empty)

Similar to the previous section, when we try to perform the Python List pop() method on an empty list, we face the same IndexError. For example:

与上一节类似,当我们尝试在一个空列表上执行Python List pop()方法时,我们面临着相同的IndexError 。 例如:

l1=[]#for empty listsprint(l1.pop())

Output:

输出

Traceback (most recent call last):  File "C:/Users/sneha/Desktop/test.py", line 4, in 
print(list1.pop())IndexError: pop from empty listProcess finished with exit code 1

So, we can conclude that while performing Python list pop() method on an empty list, an IndexError is thrown.

因此,我们可以得出结论,在对一个列表执行Python list pop()方法时,将抛出IndexError

Hence, we must check before we apply the pop() method, that the list we are dealing with is not empty. A simple length check can solve our problem.

因此,在应用pop()方法之前,必须检查要处理的列表是否为空。 简单的长度检查可以解决我们的问题。

l1=[]#for empty lists check length before poping elements!if len(l1)>0:    print(l1.pop())else:    print("Empty list! cannot pop()")

Output:

输出

Empty list! cannot pop()

See, it’s easy. The checks whether the list is empty or not and only pops an element from the list when len(l1) > 0 i.e. when the list l1 is not empty.

看,很容易。 的检查列表是否为空,并且仅当len(l1)> 0(即列表l1不为空时才从列表中弹出元素。

Python堆栈上的Python列表pop() (Python List pop() on a Python Stack)

As we have seen in our , pop() is also a stack operation used to remove the last task or element pushed. Let us see how we can implement the Python list pop() method in a stack using lists.

正如我们在所看到的, pop()也是一个堆栈操作,用于删除最后推送的任务或元素。 让我们看看如何使用列表在堆栈中实现Python list pop()方法。

stack=[] #declare a stackprint("Pushing tasks into stack...")for i in range(5):    stack.append(i)print("stack=",stack)print("Poping tasks from stack:")#performing repetitive pop() on stackwhile len(stack)>0:    print("pop()=",stack.pop(),";  Currently in Stack:",stack)

Output:

输出

Pop On Stack
Pop On Stack
弹出堆栈
  • After declaring a stack list, we push 5 elements by continuously pushing tasks(elements) using the append() method.

    声明堆栈列表后,我们通过使用append()方法连续推送任务(元素)来推送5个元素。
  • As soon as our stack initialization is done, we repetitively pop() elements until the stack is empty.

    堆栈初始化完成后,我们将反复pop()元素,直到堆栈为
  • Notice that while poping elements from the stack we have used the condition len(stack) > 0 using the while loop. This ensures that the pop operation is performed only while the stack is not empty.

    注意,当从堆栈中弹出元素时,我们使用while循环使用了len(stack)> 0条件。 这样可确保仅在堆栈不为空时执行弹出操作。

结论 (Conclusion)

In this tutorial, we learned how the built-in pop() method in python works, errors related to it, as well as its applications in a stack. Feel free to ask any questions about the topic in the comments.

在本教程中,我们学习了python中内置的pop()方法如何工作,与之相关的错误以及其在堆栈中的应用。 随时在评论中询问有关该主题的任何问题。

参考资料 (References)

翻译自:

python pop

转载地址:http://qgozd.baihongyu.com/

你可能感兴趣的文章
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_3、快速创建SpringBoot应用之手工创建web应用...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_04.ssm整合之编写SpringMVC框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_08.ssm整合之Spring整合MyBatis框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_12、SpringBoot2.x文件上传实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_19、SpringBoot个性化启动banner设置debug日志...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_20、SpringBoot2.x配置全局异常实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_23、SpringBoot2.x启动原理概述...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_34、SpringBoot整合Mybatis实操和打印SQL语句...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_35、事务介绍和常见的隔离级别,传播行为...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_42、SpringBoot常用定时任务配置实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第14节 高级篇幅之SpringBoot多环境配置_59、SpringBoot多环境配置介绍和项目实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_41、SpringBoot定时任务schedule讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_43、SpringBoot2.x异步任务实战(核心知识)...
查看>>