Python列表pop()函数使用实例详解
作者:士别三日wyx
pop() 可以「删除」列表中的元素(默认最后一个)。
语法
list.pop( index )
参数
- index :(可选)需要删除的元素的索引值
返回值
- 返回被删除的元素
实例:删除列表中第一个元素
list1 = [1, 2, 3] list1.pop(1) print(list1)
输出:
[1, 3]
1、按照索引删除元素
pop() 可以根据指定的「索引」,删除对应「位置」的元素。
1.1、正数索引
索引为「正数」时,从 0 开始,按照从左往右的顺序删除
list1 = [1, 2, 3, 4] print('删除前:', list1) list1.pop(0) print('删除后:', list1)
输出:
删除前: [1, 2, 3, 4]
删除后: [2, 3, 4]
指定的索引不能超过列表的「长度」,否则会报错 IndexError: pop index out of range
1.2、负数索引
索引为「负数」时,从 1 开始,按照从右往左的顺序删除
list1 = [1, 2, 3, 4] print('删除前:', list1) list1.pop(-1) print('删除后:', list1)
输出:
删除前: [1, 2, 3, 4]
删除后: [1, 2, 3]
索引超过列表「长度」时,同样会报错 IndexError: pop index out of range
1.3、不指定索引
「不指定索引」时,默认是 -1,也就是删除最后一个元素
list1 = [1, 2, 3, 4] print('删除前:', list1) list1.pop() print('删除后:', list1)
输出:
删除前: [1, 2, 3, 4]
删除后: [1, 2, 3]
2、返回被删除的元素
pop() 可以理解为「弹出」元素,它会返回被删除的元素,我们可以打印被删除的元素,来判断有没有删错。
list1 = [1, 2, 3, 4] print(list1.pop())
输出:
4
3、不同类型的元素
上面的案例中,我们删除的都是一个元素,这个很好理解。
对于列表中「嵌套」列表这类情况,会把列表整体当做一个元素删掉,比如下面这样:
list1 = [1, 2, [1, 2, 3], 4] print('删除前:', list1) list1.pop(2) print('删除前:', list1)
输出:
删除前: [1, 2, [1, 2, 3], 4]
删除前: [1, 2, 4]
列表中嵌套元祖、字典时,也同样整个删除
list1 = [1, 2, {1, 2, 3}, 4] print('删除前:', list1) list1.pop(2) print('删除前:', list1)
输出:
删除前: [1, 2, {1, 2, 3}, 4]
删除前: [1, 2, 4]
即使嵌套很多层,也会整个删除
list1 = [1, 2, [1, [1, [1, 2]]], 4] print('删除前:', list1) list1.pop(2) print('删除前:', list1)
输出:
删除前: [1, 2, [1, [1, [1, 2]]], 4]
删除前: [1, 2, 4]
4、常见错误
列表的 pop() 一次只能删除一个元素,否则会报错 TypeError: pop expected at most 1 argument
pop() 的参数必须是int,只能根据索引删除元素,否则会报错 TypeError: ‘str’ object cannot be interpreted as an integer
到此这篇关于Python列表pop()函数使用实例详解的文章就介绍到这了,更多相关Python列表pop()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!