Python列表常用函数使用详解
目录
- 介绍
- append()
- extend()
- insert()
- pop()
- remove()
介绍
文章图片
append() 语法
list.append( element )
参数
element:任何类型的元素
列表「末尾」添加元素
name_list = ['zhangsan', 'lisi', 'wangwu']name_list.append('zhaoliu')print(name_list)
输出:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']列表末尾可添加 「任意类型」数据,比如在列表中添加列表
name_list = ['zhangsan', 'lisi', 'wangwu']name_list.append([1,2,3])print(name_list)
输出:
['zhangsan', 'lisi', 'wangwu', [1, 2, 3]]append() 函数添加的是「地址」,当被添加的列表发生变化时,添加后的列表也会 「同步变化」
list1 = ['zhangsan']a = [1,2,3]list1.append(a)# 列表list1添加列表aprint(list1)a.append(4)# 列表a发生变化list1.append(a)print(list1)# 列表list1也会同步变化
输出:
['zhangsan', [1, 2, 3]]补充两个概念:
['zhangsan', [1, 2, 3, 4], [1, 2, 3, 4]]
- 浅拷贝:拷贝这个对象的引用
- 深拷贝:拷贝对象的内容
list1 = ['zhangsan']a = [1,2,3]list1.append(copy.deepcopy(a))# 深拷贝列表aprint(list1)a.append(4)# 列表a发生变化list1.append(copy.deepcopy(a))# 深拷贝列表aprint(list1)# 列表list1不再同步变化
输出:
['zhangsan', [1, 2, 3]]append() 函数和 extend() 函数的区别
['zhangsan', [1, 2, 3], [1, 2, 3, 4]]
1.append() 添加的是元素「引用」,而 extend() 添加的是元素的「值」
2.append() 可以添加「任意类型」元素,而 extend() 只能添加「序列」
比如,添加列表时, append() 会添加整个列表,而 extend() 只会添加列表中的值
list1 = ['zhangsan', 'lisi', 'wangwu']list2 = ['zhangsan', 'lisi', 'wangwu']list1.append([1,2,3])print('append添加整个列表:', list1)list2.extend([1,2,3])print('extend添加列表的值:', list2)
输出:
append添加整个列表: ['zhangsan', 'lisi', 'wangwu', [1, 2, 3]]
extend添加列表的值: ['zhangsan', 'lisi', 'wangwu', 1, 2, 3]
extend() 语法
list.extend(iterable)
参数
iterable:任何可迭代对象(列表、元祖等)
【Python列表常用函数使用详解】向列表 「末尾」添加列表内容
list1 = ['zhangsan', 'lisi', 'wangwu']list1.extend([1,2,3])# 列表末尾添加列表print(list1)list1.extend((4,5,6))# 列表末尾添加元祖print(list1)
输出:
['zhangsan', 'lisi', 'wangwu', 1, 2, 3]Python中的 「字符串」本质上也是一种数组,属于可迭代对象,可以使用 extend() 添加
['zhangsan', 'lisi', 'wangwu', 1, 2, 3, 4, 5, 6]
list1 = ['zhangsan', 'lisi', 'wangwu']list1.extend('abc')# 列表末尾添加字符串print(list1)
输出:
['zhangsan', 'lisi', 'wangwu', 'a', 'b', 'c']
insert() 语法
list.insert( index, element)
参数
- index:数字,指定插入的位置
- element:任意类型,需要插入的元素
list1 = ['zhangsan', 'lisi']list1.insert(2, 2)# 添加整形print(list1)list1.insert(3, 'str')# 添加字符串print(list1)list1.insert(4, [1,2,3])# 添加列表print(list1)list1.insert(5, (4,5,6))# 添加字典print(list1)
输出:
['zhangsan', 'lisi', 2]insert同样存在 「列表同步」问题,改为 「软拷贝」即可
['zhangsan', 'lisi', 2, 'str']
['zhangsan', 'lisi', 2, 'str', [1, 2, 3]]
['zhangsan', 'lisi', 2, 'str', [1, 2, 3], (4, 5, 6)]
list1 = ['zhangsan', 'lisi']a = [1,2,3]list1.insert(2, a)# 添加列表aprint(list1)a.append(4)# 列表a发生变化print(list1)# 列表同步发生变化
输出:
['zhangsan', 'lisi', [1, 2, 3]]
['zhangsan', 'lisi', [1, 2, 3, 4]]
pop() 语法
list.pop( index )
参数
- index:数字,需要删除的索引位置,默认值-1
- 返回值:删除的值
list1 = [1, 2, 3, 4]list1.pop()print(list1)
输出:
[1, 2, 3]删除 「指定」位置的元素
list1 = [1, 2, 3, 4]list1.pop(1)# 删除第二个值print(list1)
输出:
[1, 3, 4]「返回」被删除的元素
list1 = [1, 2, 3, 4]a = list1.pop(1)# 删除第二个值,并返回被删除的值print(a)
输出:
2
remove() 语法
list.remove( element )
参数
element:任意数据类型
remove() 函数删除「普通类型」元素
list1 = ['zhangsan', 'lisi', 1, 2]list1.remove(1)# 删除数字print(list1)list1.remove('zhangsan')# 删除字符串print(list1)
输出:
['zhangsan', 'lisi', 2]remove() 函数删除 「对象类型」元素
['lisi', 2]
list1 = [1, 2, [3, 4], (5, 6)]a = [3, 4]b = (5, 6)list1.remove(a)# 删除列表类型print(list1)list1.remove(b)# 删除元祖类型print(list1)
输出:
[1, 2, (5, 6)]remove() 函数删除对象类型的「前提」是,列表中的元素是对象类型,以下这种方式会报错
[1, 2]
list1 = [1, 2, 3, 4, 5]list1.remove([1,2])
输出:
Traceback (most recent call last):remove() 函数「一次」只能删除一维数组中的「一个」元素,自己删自己也不行
File "E:/data/PrCharm/test1/55.py", line 2, in
list1.remove([1,2])
ValueError: list.remove(x): x not in list
# 值错误: 需要删除的值不在列表中
list1 = [1, 2, 3, 4, 5]print('我自己在我自己里面吗?', list1 in list1)list1.remove(list1)
输出:
Traceback (most recent call last):到此这篇关于Python列表常用函数使用详解的文章就介绍到这了,更多相关Python列表常用函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
File "E:/data/PrCharm/test1/55.py", line 3, in
list1.remove(list1)
ValueError: list.remove(x): x not in list
我自己在我自己里面吗? False
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- 数组常用方法一
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则