列表
简介
列表(List)是Python中最常用的数据结构之一,它可以存储多个元素,并且支持对元素的索引和切片操作。本文将介绍列表的基本操作和常用方法。
创建列表
通过方括号 []
来创建一个列表,可以是空列表或包含元素的列表。例如:
my_list = [] # 创建一个空列表 my_list = [10] # 创建一个只包含一个元素的列表 my_list = [10, 20, 30, 40, 50] # 创建一个包含多个元素的列表
索引和切片
列表中的元素按照插入顺序存储,并且每个元素都有一个索引,索引从0开始计数。可以使用索引来获取列表中的元素,也可以使用切片来获取子列表。
示例代码:
my_list = [10, 20, 30, 40, 50] # 通过索引获取元素 print(my_list[0]) # 输出:10 print(my_list[4]) # 输出:50 # 使用切片获取子列表 print(my_list[1:4]) # 输出:[20, 30, 40]
列表的长度
使用len()
函数可以获取列表中元素的个数,即列表的长度。
示例代码:
my_list = [10, 20, 30, 40, 50] print(len(my_list)) # 输出:5
列表的拼接和重复
使用 +
可以将两个列表拼接为一个列表,使用 *
可以将列表重复指定的次数。
示例代码:
list1 = [1, 2, 3] list2 = [4, 5, 6] new_list = list1 + list2 print(new_list) # 输出:[1, 2, 3, 4, 5, 6] repeated_list = list1 * 3 print(repeated_list) # 输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]
检查元素是否存在
使用 in
和 not in
可以检查指定元素是否存在于列表中。
示例代码:
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精'] print('牛魔王' in stus) # 输出:False print('孙悟空' not in stus) # 输出:False
列表的方法
列表提供了许多常用的方法,可以对列表进行增删改查等操作。
index() 方法
index()
方法用于获取指定元素在列表中第一次出现的索引,可以指定起始位置和结束位置进行查找。
示例代码:
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精'] print(stus.index('沙和尚')) # 输出:2 print(stus.index('沙和尚', 3, 6)) # 输出:3 # 如果要获取列表中没有的元素,会抛出异常 # print(stus.index('牛魔王')) # 抛出 ValueError 异常
count() 方法
count
()
方法用于统计指定元素在列表中出现的次数。
示例代码:
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精', '沙和尚', '沙和尚'] print(stus.count('沙和尚')) # 输出:3
列表的修改和删除
修改元素
通过索引可以修改列表中的某个元素的值。
示例代码:
my_list = [10, 20, 30, 40, 50] my_list[2] = 35 print(my_list) # 输出:[10, 20, 35, 40, 50]
删除元素
可以使用 del
关键字或pop()
方法删除列表中的元素。
使用 del
关键字:
示例代码:
my_list = [10, 20, 30, 40, 50] del my_list[2] print(my_list) # 输出:[10, 20, 40, 50]
使用pop()
方法:
pop()
方法用于删除指定索引的元素,并返回被删除的元素的值。如果不指定索引,默认删除最后一个元素。
示例代码:
my_list = [10, 20, 30, 40, 50] removed_element = my_list.pop(2) print(removed_element) # 输出:30 print(my_list) # 输出:[10, 20, 40, 50] removed_element = my_list.pop() print(removed_element) # 输出:50 print(my_list) # 输出:[10, 20, 40]
列表的排序和反转
可以使用 sort()
方法对列表进行排序,使用 reverse()
方法进行反转。
示例代码:
my_list = [3, 1, 4, 2, 5] my_list.sort() print(my_list) # 输出:[1, 2, 3, 4, 5] my_list.reverse() print(my_list) # 输出:[5, 4, 3, 2, 1]
添加元素
使用 append()
方法可以在列表末尾添加一个元素,使用 insert()
方法可以在指定索引位置插入一个元素。
示例代码:
my_list = [10, 20, 30] my_list.append(40) print(my_list) # 输出:[10, 20, 30, 40] my_list.insert(1, 15) print(my_list) # 输出:[10, 15, 20, 30, 40]
列表的拷贝
在Python中,列表是可变对象,当将一个列表赋值给另一个变量时,实际上是将列表的引用赋给了新的变量。如果修改其中一个变量的值,另一个变量也会受到影响。
为了避免这种情况,可以使用 copy()
方法或切片操作来创建一个列表的副本。
示例代码:
my_list = [10, 20, 30] copy_list = my_list.copy() slice_list = my_list[:] my_list[0] = 5 print(copy_list) # 输出:[10, 20, 30] print(slice_list) # 输出:[10, 20, 30]
这样,修改原列表后,副本列表不会受到影响。
当然,还有更多关于列表的内容可以继续介绍。
列表的遍历
可以使用循环来遍历列表中的所有元素,并对每个元素进行操作。
示例代码:
stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧'] # 使用 for 循环遍历列表 for stu in stus: print(stu) # 使用 while 循环遍历列表 i = 0 while i < len(stus): print(stus[i]) i += 1
列表的切片
除了获取子列表之外,切片操作还可以修改和删除列表的元素。
示例代码:
my_list = [10, 20, 30, 40, 50] # 修改切片中的元素 my_list[1:4] = [25, 35, 45] print(my_list) # 输出:[10, 25, 35, 45, 50] # 删除切片中的元素 my_list[1:4] = [] print(my_list) # 输出:[10, 50]
列表的嵌套
列表可以包含其他列表作为元素,形成嵌套结构。
示例代码:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(matrix[0]) # 输出:[1, 2, 3] print(matrix[1][2]) # 输出:6
列表推导式
列表推导式是一种简洁创建列表的方式,可以使用循环和条件语句来创建列表。
示例代码:
# 创建一个包含1到10的平方的列表 squares = [x**2 for x in range(1, 11)] print(squares) # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] # 创建一个只包含偶数的列表 even_numbers = [x for x in range(1, 11) if x % 2 == 0] print(even_numbers) # 输出:[2, 4, 6, 8, 10]