这篇文章主要为大家讲解一下Python列表常用的一些函数的使用,我们想要学习Python,首先要了解它的几种常见的函数列表,这样以后学习才能事半功倍。python编程学习资料点击免费领取
目录
介绍
append()
语法
1 |
|
参数
element:任何类型的元素
列表「末尾」添加元素
1 2 3 |
|
输出:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
列表末尾可添加 「任意类型」数据,比如在列表中添加列表
1 2 3 |
|
输出:
['zhangsan', 'lisi', 'wangwu', [1, 2, 3]]
append() 函数添加的是「地址」,当被添加的列表发生变化时,添加后的列表也会 「同步变化」
1 2 3 4 5 6 7 |
|
输出:
['zhangsan', [1, 2, 3]]
['zhangsan', [1, 2, 3, 4], [1, 2, 3, 4]]
补充两个概念:
- 浅拷贝:拷贝这个对象的引用
- 深拷贝:拷贝对象的内容
「深拷贝」可解决 append() 函数添加列表的同步问题
1 2 3 4 5 6 7 |
|
输出:
['zhangsan', [1, 2, 3]]
['zhangsan', [1, 2, 3], [1, 2, 3, 4]]
append() 函数和 extend() 函数的区别
1.append() 添加的是元素「引用」,而 extend() 添加的是元素的「值」
2.append() 可以添加「任意类型」元素,而 extend() 只能添加「序列」
比如,添加列表时, append() 会添加整个列表,而 extend() 只会添加列表中的值
1 2 3 4 5 6 |
|
输出:
append添加整个列表: ['zhangsan', 'lisi', 'wangwu', [1, 2, 3]]
extend添加列表的值: ['zhangsan', 'lisi', 'wangwu', 1, 2, 3]
extend()
语法
1 |
|
参数
iterable:任何可迭代对象(列表、元祖等)
向列表 「末尾」添加列表内容
1 2 3 4 5 |
|
输出:
['zhangsan', 'lisi', 'wangwu', 1, 2, 3]
['zhangsan', 'lisi', 'wangwu', 1, 2, 3, 4, 5, 6]
Python中的 「字符串」本质上也是一种数组,属于可迭代对象,可以使用 extend() 添加
1 2 3 |
|
输出:
['zhangsan', 'lisi', 'wangwu', 'a', 'b', 'c']
insert()
语法
1 |
|
参数
- index:数字,指定插入的位置
- element:任意类型,需要插入的元素
insert() 函数可以添加「任意类型」
1 2 3 4 5 6 7 8 9 |
|
输出:
['zhangsan', 'lisi', 2]
['zhangsan', 'lisi', 2, 'str']
['zhangsan', 'lisi', 2, 'str', [1, 2, 3]]
['zhangsan', 'lisi', 2, 'str', [1, 2, 3], (4, 5, 6)]
insert同样存在 「列表同步」问题,改为 「软拷贝」即可
1 2 3 4 5 6 |
|
输出:
['zhangsan', 'lisi', [1, 2, 3]]
['zhangsan', 'lisi', [1, 2, 3, 4]]
pop()
语法
1 |
|
参数
- index:数字,需要删除的索引位置,默认值-1
- 返回值:删除的值
不传参数时,默认删除「最后」一个值
1 2 3 |
|
输出:
[1, 2, 3]
删除 「指定」位置的元素
1 2 3 |
|
输出:
[1, 3, 4]
「返回」被删除的元素
1 2 3 |
|
输出:
2
remove()
语法
1 |
|
参数
element:任意数据类型
remove() 函数删除「普通类型」元素
1 2 3 4 5 |
|
输出:
['zhangsan', 'lisi', 2]
['lisi', 2]
remove() 函数删除 「对象类型」元素
1 2 3 4 5 6 7 |
|
输出:
[1, 2, (5, 6)]
[1, 2]
remove() 函数删除对象类型的「前提」是,列表中的元素是对象类型,以下这种方式会报错
1 2 |
|
输出:
Traceback (most recent call last):
File "E:/data/PrCharm/test1/55.py", line 2, in <module>
list1.remove([1,2])
ValueError: list.remove(x): x not in list
# 值错误: 需要删除的值不在列表中
remove() 函数「一次」只能删除一维数组中的「一个」元素,自己删自己也不行
1 2 3 |
|
输出:
Traceback (most recent call last):
File "E:/data/PrCharm/test1/55.py", line 3, in <module>
list1.remove(list1)
ValueError: list.remove(x): x not in list
我自己在我自己里面吗? False