1. 创建列表
在Python中,列表(list)是一种有序的数据集合,每个元素可以是任意类型的对象,可以使用方括号([])或list()函数创建。如果需要创建空的列表,可以使用以下两种方式:
1.1 使用方括号创建
list1 = []
#或者
list2 = list()
1.2 含有元素的列表创建
list3 = [1, 2, 3, 'four', '五']
list4 = list('hello')
print(list4) #输出:['h', 'e', 'l', 'l', 'o']
需要注意,list()函数对于非容器类型的序列会将其视为单个元素并将其添加到列表中,例如:
list5 = list(1234)
print(list5) #输出:[1, 2, 3, 4]
2. 列表索引和切片
可以通过索引和切片来访问列表中的元素,其中索引从0开始,负数表示从列表末尾开始逆序计数。
2.1 索引
list1 = ['a', 'b', 'c', 'd']
print(list1[1]) #输出:b
print(list1[-1]) #输出:d
2.2 切片
切片被用来获取序列的一部分,其通过指定开始和结束索引来实现。
list1 = ['a', 'b', 'c', 'd']
print(list1[1:3]) #输出:['b', 'c']
print(list1[:2]) #输出:['a', 'b']
print(list1[2:]) #输出:['c', 'd']
需要注意,切片是左闭右开区间,即包含起始索引而不包含结束索引。
3. 列表的基本操作
3.1 修改列表元素
列表中的元素是可以被修改的,可以使用索引对单个元素进行修改,也可以使用切片对多个元素进行修改。
list1 = ['a', 'b', 'c', 'd']
list1[1] = 'e'
print(list1) #输出:['a', 'e', 'c', 'd']
list1[1:3] = ['f', 'g']
print(list1) #输出:['a', 'f', 'g', 'd']
3.2 删除列表元素
可以使用del语句删除列表中的元素,也可以使用remove()方法根据元素值删除元素。
list1 = ['a', 'b', 'c', 'd']
del list1[1]
print(list1) #输出:['a', 'c', 'd']
list1.remove('c')
print(list1) #输出:['a', 'd']
3.3 列表操作符
列表之间可以使用加法、乘法等操作符进行运算。
3.3.1 加法操作符
加法操作符用于将两个列表合并成一个列表。
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = list1 + list2
print(list3) #输出:[1, 2, 3, 4, 5, 6]
3.3.2 乘法操作符
乘法操作符用于将列表重复多次。
list1 = [1, 2, 3]
list2 = list1 * 3
print(list2) #输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]
3.4 列表方法
列表方法是作用于列表中的数据的函数,可以完成对列表的增删改查等操作。下面介绍几个常用的列表方法。
3.4.1 append()方法
append()方法用于在列表的末尾添加新元素。
list1 = [1, 2, 3]
list1.append(4)
print(list1) #输出:[1, 2, 3, 4]
3.4.2 extend()方法
extend()方法用于将一个列表的元素添加到另一个列表中。
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1) #输出:[1, 2, 3, 4, 5, 6]
3.4.3 insert()方法
insert()方法用于在列表的任意位置插入新元素。
list1 = [1, 2, 4]
list1.insert(2, 3)
print(list1) #输出:[1, 2, 3, 4]
3.4.4 pop()方法
pop()方法用于删除列表中的指定元素,并返回该元素的值,如果未指定索引,则默认删除列表中的最后一个元素。
list1 = [1, 2, 3, 4]
print(list1.pop()) #输出:4
print(list1) #输出:[1, 2, 3]
print(list1.pop(1)) #输出:2
print(list1) #输出:[1, 3]
3.4.5 index()方法
index()方法用于查找列表中指定元素的位置。
list1 = [1, 2, 3, 4]
print(list1.index(3)) #输出:2
3.4.6 count()方法
count()方法用于统计列表中指定元素的出现次数。
list1 = [1, 2, 2, 3, 3, 3]
print(list1.count(3)) #输出:3
3.5 列表的遍历
可以使用for循环来遍历列表中的所有元素。
list1 = [1, 2, 3]
for i in list1:
print(i)
#输出:
#1
#2
#3
4. 列表高级操作
4.1 列表推导式
列表推导式是一种非常方便的创建新列表的方法,其基于已有的列表中的元素来创建新的列表。
4.1.1 简单列表推导式
list1 = [1, 2, 3]
list2 = [i * 2 for i in list1]
print(list2) #输出:[2, 4, 6]
4.1.2 带条件的列表推导式
list1 = [1, 2, 3, 4, 5]
list2 = [i * 2 for i in list1 if i % 2 == 0]
print(list2) #输出:[4, 8]
4.2 lambda函数
lambda函数是一种简单的函数定义方法,可以用于列表排序、列表筛选等高级操作。
4.2.1 列表排序
可以使用sort()方法对列表进行排序,也可以使用sorted()函数排序。
list1 = [3, 2, 1]
list1.sort()
print(list1) #输出:[1, 2, 3]
list2 = [3, 2, 1]
list3 = sorted(list2)
print(list2) #输出:[3, 2, 1]
print(list3) #输出:[1, 2, 3]
如果需要自定义排序规则,可以通过lambda函数进行排序。
list1 = ['a', 'bb', 'ccc']
list1.sort(key=lambda x: len(x))
print(list1) #输出:['a', 'bb', 'ccc']
4.2.2 列表筛选
可以使用filter()函数对列表进行筛选,也可以使用列表推导式完成筛选。
list1 = [1, 2, 3, 4, 5]
list2 = filter(lambda x: x % 2 == 0, list1)
print(list(list2)) #输出:[2, 4]
list3 = [i for i in list1 if i % 2 == 0]
print(list3) #输出:[2, 4]
5. 总结
本篇文章介绍了Python列表的基本操作、列表索引和切片、列表的增删改查等操作,介绍了常用的列表方法,同时也介绍了列表高级操作,例如列表推导式、lambda函数等。希望本篇文章能够对读者有所帮助。