【python百炼成魔】python之列表详解
- 开源代码
- 2025-08-20 03:57:02

文章目录 一. 列表的概念1.1 列表是什么?1.2 为什么要使用列表?1.3 列表的定义 二. 列表的增删改查操作2.1 列表的读取2.2 列表的切片2.3 列表的查询操作2.3.1 not in ,in 表达式2.3.2 列表元素遍历 2.4 列表元素的增加操作2.4.1 append()的相关用法2.4.2 extend()方法的相关用法2.4.3 insert() 方法的使用2.4.4 用切片的方式在任意位置添加元素 2.5 列表元素的删除2.6 列表元素的修改 三. 列表的排序操作3.1 sort方法的排序操作3.2 使用sorted进行排序 四. 列表的其他方法4.1 统计某元素在列表中出现的次数4.2 列表转换为字符串4.3 将字符串转换为列表 总结 一. 列表的概念 1.1 列表是什么?
列表的英文单词是list, 它是python中一种可以动态添加和删除内容的数据类型,又很多个元素组成。 通俗的说就是列表就是将多个变量组合在一起的容器。
1.2 为什么要使用列表?我们都知道变量可以存储一个元素,而列表是一个大容器,可以存储N个元素,程序可以方便的对这些元素进行操作。
在Python中一切皆为对象,所以变量存储的就是一个对象的引用。
1.3 列表的定义列表的格式定义如下:
my_list = [元素1,元素2,元素3...]列表中每一个数据称作元素活着项,列表用[] 包裹,每个元素用英文的,分割,列表可以直接打印输出:
my_list = ["apple", "orange", "grape", "pear"] print(my_list)列表中也可以是相同的元素,比如:
my_list = ["mufeng", "mufeng", "19", "19"] print(my_list)列表中也可以加别的类型,比如再增加个列表:
my_list = ["mufeng", "mufeng", "19", "19" , ["apple", "orange", "grape", "pear"]] print(my_list)执行结果:
二. 列表的增删改查操作 2.1 列表的读取
列表示意图:
这里需要学习两个名词:一个是索引,另一个是下标,这两个词是同一个意思,都是为了准确的获取列表中的元素。 列表中的索引是从0开始的,如果是倒序就从-1开始。
在上面的图表中: 索引为0的元素是 hello, 索引为1的是world, 依次类推。
案例一: 我们来看看一个列表的ID和他的类型,已经最终展示的形态
lst=['hello','world',123,96.6,"world",125,"world"] print(id(lst)) print(type(lst)) print(lst)案例二: 从案例一点列表中分别取出下标为1,2,3,4的元素以及倒数第一个和第二个
lst=['hello','world',123,96.6,"world",125,"world"] print("索引为0的元素", lst[0]) print("索引为1的元素" ,lst[1]) print("索引为2的元素", lst[2]) print("索引为0的元素", lst[3]) print("索引为4的元素", lst[4]) #倒序 ## 获取最后一个元素 -1 print("列表最后一个元素", lst[-1]) print("列表倒数第二个元素" ,lst[-2])执行结果:
案例三: 根据索引获取指定的元素
lst=['hello','world',19,'mufeng'] print(lst.index('hello')) print(lst.index(19,1,4))执行结果
0 2这里就是根据元素hello查找索引 ,结果为0 在索引1-4里查找19的索引,结果为2
2.2 列表的切片在对列表的操作中经常遇到这中操作:
获取1-3项元素获取第1,3,5,7项元素获取第4-6项目元素这些在编程中被成为切片操作。
具体的语法如下:
# 读取从索引 m 到 n-1 的列表元素 my_list[m:n] # 读取列表的前 n 项元素 my_list[:n] # 读取列表从 m 开始到结尾的元素 my_list[m:] # 间隔 s,读取从 m 到 n 的列表元素 my_list[m:n:s]案例一: 步长为正数的时候
lst=[1,2,3,4,5,6,7,8,9,] print(lst[1:6:1]) #[2, 3, 4, 5, 6]lst[1:6:1] 表示: 从索引1开始到索引6结束,步长为1,一般默认步长为1
案例二:步长为正数其他写法:
步长如果省略不写,则默认为1
lst=[1,2,3,4,5,6,7,8,9,] print(lst[1:6:1]) #[2, 3, 4, 5, 6] print(lst[1:6]) print(lst[1:6:]) print(lst[1:6:2]) print(lst[:6:2])结果:
案例三: 步长为负数的情况
lst=[1,2,3,4,5,6,7,8,9,] print(lst[::-1])这种情况相当于取反结果为:
[9, 8, 7, 6, 5, 4, 3, 2, 1]也这可以这么写:
lst=[1,2,3,4,5,6,7,8,9,] print(lst[8::-1]) #[9, 8, 7, 6, 5, 4, 3, 2, 1] 2.3 列表的查询操作 2.3.1 not in ,in 表达式判断指定元素是否在列表中存在
元素in 列表名元素 not in 列表名 lst=[1,2,3,4,5,6,7,8,9,] print(2 not in lst) 2.3.2 列表元素遍历元素遍历也是查询过程中的一种,先遍历出来在最遍历出来的内容做操作。
语法:
for 可迭代变量 in 列表 lst=[1,2,3,4,5,6,7,8,9,] for item in lst: print(item) 2.4 列表元素的增加操作列表元素的增加操作有以下几个函数: append() 在列表末尾加一个元素 extend() 在列表末尾添加一个元素 insert() 在列表的任意位置添加一个元素 切片: 在列表的任意位置添加一个元素
2.4.1 append()的相关用法案例一: 使用append()函数在列表末尾加上一个元素:
lst=[1,2,3] print("添加元素之前",lst,id(lst)) lst.append(100) print('添加元素之后',lst,id(lst))执行结果:
可以看到,ID是相同的,也就是没有生成新的列表
案例二: 使用append()方法 追加一个列表
lst=[1,2,3] print("添加元素之前",lst,id(lst)) lst.append(100) print('添加元素之后',lst,id(lst)) lst2=['hello','world'] lst.append(lst2) print(lst)输出:
这里可以看到,append可以将列表 lst2作为一个元素添加到末尾
2.4.2 extend()方法的相关用法extend() 是扩展到意思,我们来看案例:
lst=[1,2,3] lst2=['hello','world'] print(lst) lst.extend(lst2) print(lst)执行结果: 这里可以发现,我们用extend追加列表,是把列表的内容写到原来的lst中了,并不是把LST2作为一个整体插入的。
append 方法可以给列表追加元素,而extend可以给列表追加一个列表,相当于将两个列表进行连接。
2.4.3 insert() 方法的使用上面我们学习过的append是在列表的末尾固定插入元素,而insert 是在任意位置插入,语法如下:
my_list.insert(索引位置,"新增元素")案例一: 我们尝试在索引2的位置,插入90
lst=[1,2,3] lst.insert(2,90) print(lst)执行结果:
[1, 2, 90, 3] 2.4.4 用切片的方式在任意位置添加元素切片也可以在任意位置添加元素,比如lst[2:] 表示把索引为2,且包括索引2后面的内容切掉
lst=[1,2,3,4] lst3=['hello','world','沐风晓月'] lst[2:]=lst3 print(lst)可以看到,它把索引2后面的都切掉了,然后把lst3添加到lst里了
切片实际上就是切掉一部分,用新的替换
2.5 列表元素的删除列表元素的删除也有多个方法,如下:
remove() 一次删除一个元素,重复元素只删除第一个,元素不存在抛出valueerror
pop() 删除一个指定索引位置上的元素
切片: 一次至少删除一个元素(切片会产生一个新的列表对象)
clear() 清空列表
del() 删除列表
案例一: 删除索引为2的元素
lst=[1,2,3,4] lst.pop(2) print(lst) #[1, 2, 4]案例二: 不指定索引默认删除最后一个元素
lst=[1,2,3,4] #pop() 不指定索引删除最后一个 lst.pop() print(lst)#[1, 2, 3]案例三: 直接删除指定的元素 remove() pop方法需要按照索引删除的元素,而remove直接可以指定元素,但remove删除元素后,不会返回被删除的元素,另外当列表中不存在被删除的元素,会提示代码错误。
如果被删除的元素有重名的情况,默认删除第一个
语法格式为:
my_list.remove(待删除元素内容) lst=[1,2,3,4] lst3=['hello','world','沐风晓月'] lst3.remove("hello")执行结果:
这里不会返回任何结果,不像pop方法,还会显示被删除后的列表:
案例四: 清空列表 clear()方法
清空后,还存在列表,但是删除后就没有了,删除列表用del list
lst=[1,2,3,4] #clear() 清空列表 lst.clear() print(lst)删除列表
lst=[1,2,3,4] del lst print(lst)删除后就没有了,打印会提示没有定义
2.6 列表元素的修改列表元素的修改:
为指定索引元素赋新值为指定的切片赋予一个新值 lst=[1,2,3,4] #一次修改一个值 lst[2]=100 print(lst)#[1, 2, 100, 4]使用切片来替换
lst=[1,2,3,4] lst[1:3]=[30,40,50,60] print(lst)这个就是把2和3去掉,然后用30,40,50,60 代替
如果你已经看到了这里,那你:
三. 列表的排序操作除了对列表增删改查外还会涉及到排序等相关的操作,使用固定的方法即可。 两种方法:
调用sort()方法,列表中所有的元素默认按照从小到大的顺序来排序,可以指定reverse=True 进行降序排序调用内置函数 sorted() ,可以指定reverse=True进行降序排序,原列表不发生改变。此方法会产生一个新的列表对象 3.1 sort方法的排序操作默认从小到大,也可以修改为从大到小,该方法一般用于纯数字或者纯英文字符的列表排序。
语法格式: my_list.sort()
案例一: 声明一个包含数字的列表进行排序
lst=[1,2,3,4,88,77,5,46] print('排序前的列表',lst) lst.sort() print('排序后的列表',lst) lst.sort(reverse=True) print('降序排序',lst) 3.2 使用sorted进行排序sort排序会对源列表进行永久修改,很多时间并不需要修改原列表,这种情况下就可以借助于sorted函数。 需要注意的是 sorted是一个内置函数,并不是列表的方法,也就是sorted可以对很多种类的对象进行排序。
语法:
sorted(待排序列表) # 正序,从小到大 sorted(待排序列表,reverse=True) # 逆序,从大到小案例一: 定义一个list列表并进行排序
lst=[1,2,3,4,88,77,5,46] print('排序前的列表',lst) newlst=sorted(lst) print(lst) print(newlst)两个区别就是: sort()是对原列表进行操作,sorted()是生成新列表,生成的新列表需要用新变量接收。
四. 列表的其他方法 4.1 统计某元素在列表中出现的次数通过count方法可以获取元素在列表中出现的次数:
次数 = my_list.count(待查找值)案例: 查找3在列表中出现的次数
my_list = [3, 4, 3, 2, 3, 8, 7] nums = my_list.count(3) print(nums) 4.2 列表转换为字符串通过john方法可以将所有的元素组合成一个字符串,语法如下:
连接字符串.join(待转换列表) my_list = ["pear", "apple", "orange"] my_str = "#".join(my_list) print(my_str)执行结果:
4.3 将字符串转换为列表通过内置函数 list,可以将字符串转换成列表,类似于强制转换:
my_str = "abcdefghi" print(list(my_str))结果如下:
字符串也有自己的方法,我们给他变成列表就可以使用列表的方法。对于列表的方法比较多,需要反复练习。
总结✨ 原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下 👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!
【python百炼成魔】python之列表详解由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【python百炼成魔】python之列表详解”