在 Python 中,列表是非常常用的数据结构,提供很多的方法可以用,如果我们不对它们进行分门别类形成知识树,我们将很容易混乱或遗忘。本文将列表的知识点整理成10类,方便大家学习、复习!
1、创建列表
1.1、使用方括号
最简单的方式是使用方括号 [ ] 来定义一个列表
lst = [1, 2, 3, 4]
1.2、使用 list() 构造函数
可以使用 list() 函数将其他可迭代对象(如元组、字符串等)转换为列表
my_list = list((1, 2, 3)) # 从元组创建列表
my_list = list("hello") # 从字符串创建列表 ['h', 'e', 'l', 'l', 'o']
1.3、使用 * 运算符
可以使用 * 运算符重复元素创建列表
lst = [0] * 5 # 生成 [0, 0, 0, 0, 0]
2、添加元素
2.1、append(x)
在列表末尾添加一个元素 x,不能添加多个元素,也不能添加列表等
lst = [1, 2, 3]
lst.append(4)
lst
# Out: [1, 2, 3, 4]
2.2、extend(iterable)
在列表末尾添加序列元素(列表、元组等),从而实现添加多个元素的功能
lst = [1, 2, 3]
lst.extend([5, 6])
lst
# Out: [1, 2, 3, 5, 6]
2.3、insert(i, x)
在指定位置 i 插入元素 x
lst = [1, 2, 3]
lst.insert(2, 'a')
lst
# Out: [1, 2, 'a', 3]
2.4、连接操作符号 +
用于连接两个列表,注意的是:结果生成一个新的列表,而不是在原先列表上添加
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
new_lst = lst1 + lst2
new_lst
# Out: [1, 2, 3, 4, 5, 6]
3、删除元素
3.1、remove(x)
删除列表中第一个值为 x 的元素
lst = [1, 2, 3]
lst.remove(2)
lst
# Out: [1, 3]
3.2、pop([i])
删除并返回指定位置 i 的元素,默认删除最后一个元素
lst = [1, 2, 3]
ele = lst.pop(1)
lst
# Out: [1, 3]
3.3、clear()
清空列表
lst = [1, 2, 3]
lst.clear()
lst
# Out: []
4、查找元素
4.1、index(x[, start[, end]])
返回第一个值为 x 的元素索引,start 表示查找的起始位置,end 表示查找结束位置,若未找到则抛出异常
lst = ['a', 'b', 'b', 'c', 'd']
index_of_a = lst.index('b')
index_of_a
# Out: 1
4.2、通过下标获取元素
lst = ['a', 'b', 'b', 'c', 'd']
ele = lst[1]
ele
# Out: 'b'
4.3、切片获取子列表
列表切片,获取子列表
lst = ['a', 'b', 'b', 'c', 'd']
new_lst = lst[1: 4]
new_lst
# Out: ['b', 'b', 'c']
4.4、count(x)
返回列表中值为 x 的元素个数
lst = ['a', 'b', 'b', 'c', 'd']
count_of_b = lst.count('b')
count_of_b
# Out: 2
5、排序和反转
5.1、sort(key, reverse)
对列表进行排序,key 可以用来自定义排序,例如我们可以设置 key=len 表示按长度排序;reverse 用来表示升序还是降序,true 为降序,false 为升序(默认)
lst = ['bb', 'aaa', 'c', 'd']
lst.sort()
lst
# Out: ['aaa', 'bb', 'c', 'd']
lst.sort(reverse=True)
lst
# Out: ['d', 'c', 'bb', 'aaa']
lst = ['bb', 'aaa', 'c', 'd']
lst.sort(key=len)
lst
# Out: ['c', 'bb', 'd', 'aaa']
6、成员关系操作符
使用 in 和 not in 用于检查一个元素是否存在于列表中
lst = [1, 2, 3, 4, 5]
2 in lst # 输出: True
2 not in lst # 输出: False
7、列表比较操作符号
可以使用以下比较操作符号 <、<=、>、>=、==、!= 比较两个列表。列表比较是基于元素逐个比较,且列表必须长度相同才能比较
lst1 = [1, 2, 3]
lst2 = [1, 2, 3]
lst3 = [1, 2, 4]
print(lst1 == lst2) # 输出: True
print(lst1 != lst3) # 输出: True
print(lst1 < lst3) # 输出: True,因为第一个不同的元素是3和4,3<4
8、浅复制 copy()
返回列表的浅复制
lst = [1, 2, 3, [4, 5]]
new_lst = lst.copy()
lst.append(6) # 不会影响
lst[3].append(55) # 对新列表会影响
new_lst
# Out: [1, 2, 3, [4, 5, 55]]
9、列表推导式
虽然不是列表方法,但列表推导式是创建新列表的强大工具
lst = [1, 2, 3]
new_lst = [x*2 for x in lst]
new_lst
# Out: [2, 4, 6]
10、内建序列函数
内建序列中的所有函数都可以用在列表中,例如:len、min、max、all、any 等等,这里就不在一一赘述,可以查阅我们的文章《重学 Python ! 常见的12种内建序列函数汇总》
如果你喜欢本文,欢迎点赞,并且关注我们的微信公众号:Python技术极客,我们会持续更新分享 Python 开发编程、数据分析、数据挖掘、AI 人工智能、网络爬虫等技术文章!让大家在Python 技术领域持续精进提升,成为更好的自己!
添加作者微信(coder_0101),拉你进入行业技术交流群,进行技术交流~