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

目录

一、创建列表

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.浅拷贝(Shallow Copy)

2.深拷贝(Deep Copy)

十四、列表翻转

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 = [x for x in range(1, 6)]

4.创建空列表

方法一:
my_list = []  # 推荐

方法二:
my_list = list()

二、访问列表元素

1.列表支持通过索引访问元素,索引从0开始:

# 通过索引访问元素
first_element = my_list[0]  # 1
last_element = my_list[-1]  # 5

2.还可以使用切片操作访问列表的一部分:

# 切片操作
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:删除指定位置的元素

del my_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]

for item in my_list:
  print(item)  # 依次打印出1, 2, 3, 4

九、列表推导式

列表推导式是一种简洁的创建列表的方式:

# 使用列表推导式创建新列表
squares = [x**2 for x in range(10)]  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# 对原列表进行操作
my_list = [x*2 for x in squares ]  # [0, 2, 8, 18, 32, 50, 72, 98, 128, 162]

十、成员测试

使用in关键字检查元素是否在列表中:

# 检查元素是否在列表中
is_in_list = 5 in my_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大于endstep为正数,则返回空列表;反之,若start小于endstep为负数,则也会返回空列表。

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]

你可能感兴趣的:(python,python,开发语言)