找回密码
 会员注册
查看: 25|回复: 0

一文掌握python常用的list(列表)操作

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
69864
发表于 2024-9-10 16:04:11 | 显示全部楼层 |阅读模式
目录一、创建列表1.直接创建列表:2.使用list()构造器3.使用列表推导式4.创建空列表二、访问列表元素1.列表支持通过索引访问元素,索引从0开始:2.还可以使用切片操作访问列表的一部分:三、修改列表元素四、添加元素1.append():在末尾添加元素2.insert():在指定位置插入元素五、删除元素1.del:删除指定位置的元素2.remove():删除指定值的第一个匹配项3.pop():删除并返回最后一个元素六、排序七、列表长度八、遍历列表九、列表推导式十、成员测试十一、连接列表1.使用extend()方法连接两个列表:2.使用“+”连接两个列表十二、列表切片1.提取列表前3个元素:2.从第2个元素开始到倒数第二个元素:3.每隔一个元素提取一次:4.反向切片,提取倒序的前三个元素:5.步长为负数时,会从后向前提取元素,即翻转列表:十三、列表复制1.浅拷贝(ShallowCopy)2.深拷贝(DeepCopy)十四、列表翻转1.使用reverse()方法可以原地翻转列表, 直接翻转原列表。2.使用切片翻转, 生成新的列表,不修改原列表。十五、列表排序1.使用sorted()函数: sorted()是一个返回排序后新列表的函数,它不会改变原列表。2.使用list.sort()方法: list.sort()是列表对象的一个方法,它会直接修改原列表。十六、列表推导式中的条件过滤十七、列表连接与拆分1.使用+运算符可以连接两个列表,使用*可以进行重复。2.列表可以使用split()方法进行拆分,但这是字符串的方法,因此你需要先将列表转换为字符串。十八、列表映射1.使用列表推导式进行映射2.使用map()进行映射十九、列表的嵌套二十、扁平化嵌套列表1.使用itertools.chain扁平化嵌套列表2.使用递归扁平化嵌套列表二十一、列表的差集、交集和并集二十二、列表的旋转二十三、列表的枚举二十四、列表的批量赋值二十五、列表的批量赋值1.使用clear()方法2.使用切片赋值3.重新赋值二十六、列表的无限循环列表(list)是一种非常灵活的数据结构,它支持多种操作,包括元素的添加、删除、访问和迭代等一、创建列表创建列表的方式有多种,下面列举了三种常见的创建方式:1.直接创建列表:my_list=[1,2,3,4,5]2.使用list()构造器my_list=list((1,2,3,4,5))3.使用列表推导式my_list=[xforxinrange(1,6)]4.创建空列表方法一:my_list=[]#推荐方法二:my_list=list()二、访问列表元素1.列表支持通过索引访问元素,索引从0开始:#通过索引访问元素first_element=my_list[0]#1last_element=my_list[-1]#52.还可以使用切片操作访问列表的一部分:#切片操作sub_list=my_list[1:4]#[2,3,4]三、修改列表元素通过索引,我们可以轻松地修改列表中的元素:#修改指定位置的元素my_list[1]=20#[1,20,3,4,5]四、添加元素1.append():在末尾添加元素my_list.append(6)#[1,20,3,4,5,6]2.insert():在指定位置插入元素my_list.insert(2,25)#[1,20,25,3,4,5,6]五、删除元素1.del:删除指定位置的元素delmy_list[2]#[1,20,3,4,5,6]2.remove():删除指定值的第一个匹配项my_list.remove(3)#[1,20,4,5,6]3.pop():删除并返回最后一个元素last_element=my_list.pop()#[1,20,4,5]六、排序列表可以通过sort()方法进行永久排序,也可以使用sorted()函数进行临时排序:#对列表进行永久排序(改变原列表)my_list.sort()#[1,4,5,20]#对列表进行临时排序(不改变原列表),返回一个新列表sorted_list=sorted(my_list)#[1,4,5,20]七、列表长度使用len()函数获取列表长度:#获取列表长度length=len(my_list)#4八、遍历列表使用for循环遍历列表:#使用for循环遍历列表my_list=[1,2,3,4]foriteminmy_list:print(item)#依次打印出1,2,3,4九、列表推导式列表推导式是一种简洁的创建列表的方式:#使用列表推导式创建新列表squares=[x**2forxinrange(10)]#[0,1,4,9,16,25,36,49,64,81]#对原列表进行操作my_list=[x*2forxinsquares]#[0,2,8,18,32,50,72,98,128,162]十、成员测试使用in关键字检查元素是否在列表中:#检查元素是否在列表中is_in_list=5inmy_list#True十一、连接列表1.使用extend()方法连接两个列表:#连接两个列表my_list.extend([7,8,9])#[1,4,5,7,8,9]2.使用“+”连接两个列表#连接两个列表my_list1=[1,2,3]my_list2=[4,5,6]my_list=my_list1+my_list2#[1,4,5,7,8,9]十二、列表切片切片是Python中一种非常强大的操作,它可以让你轻松获取列表的子集。list_name[start:end:step]start:切片开始的索引位置(包含此位置的元素)。默认值为0,表示从列表开头开始。end:切片结束前的索引位置(不包含此位置的元素)。默认值是列表长度,即直到列表结尾。step:步长,表示每次跳跃的元素数量。默认值为1,表示连续取值。需要注意的是,Python的索引是从0开始的,所以第一个元素的索引是0,最后一个元素的索引可以通过 -1 来获取。另外,如果start大于end且step为正数,则返回空列表;反之,若start小于end且step为负数,则也会返回空列表。1.提取列表前3个元素:my_list=[1,2,3,4,5,6]first_three=my_list[:3]#结果为[1,2,3]2.从第2个元素开始到倒数第二个元素:1middle_elements=my_list[1:-1]#结果为[2,3,4,5]3.每隔一个元素提取一次:1every_other=my_list[::2]#结果为[1,3,5]4.反向切片,提取倒序的前三个元素:1last_three_reversed=my_list[-3:]#结果为[4,5,6]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-7 07:11 , Processed in 0.732881 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表