Python列表的常用方法

1.append方法:在列表末尾添加一个元素

语法:

list.append(elmnt)

参数介绍:

append()方法只接受一个参数,即要添加到目标列表中的元素。这个参数可以是任何类型的数据,包括字符串、数字、布尔值、列表、元组、字典、集合等。

代码示例:

numbers = [1, 2, 3, 4, 5]

# 添加一个字符串到列表末尾
numbers.append('six')
print(numbers)

# 添加一个列表到列表末尾
numbers.append([7, 8, 9])
print(numbers)

# 添加一个元组到列表末尾
numbers.append((10, 11, 12))
print(numbers)

# 添加一个字典到列表末尾
numbers.append({'name': 'Alice', 'age': 20})
print(numbers)

2.clear方法:清空列表中的所有元素

list1 = ['apple', 'banana', 'cherry']
list1.clear()
print(list1)  # []

3.copy方法:复制列表

函数功能:

返回浅拷贝列表

语法:

list.copy()

代码示例:

list1 = ['apple', 'banana', 'cherry']
list2 = list1.copy()
print(list2)  # ['apple', 'banana', 'cherry']

注意:

copy()方法只会复制列表对象的顶层成员,即只会复制列表中的元素,而不会递归的复制包含在列表对象中的所有子对象。如果列表元素是嵌套的数据结构,例如列表包含字典,那么需要使用更深层次的拷贝方法,例如深拷贝(deep copy)。

4.count方法:返回列表中指定元素的个数

函数功能:

计算某个元素在列表中出现的次数。

语法:

list.count(value)

参数介绍:

count()方法接受一个参数,即要查找的元素。可以是任何类型的值,包括字符串、数字、布尔值、列表、元组、字典、集合等。

代码示例:

numbers = [1, 5, 3, 7, 5, 3, 5, 10]

# 查找数字5在列表中出现的次数
count = numbers.count(5)

print("数字5在列表中出现了%d次" % count)
输出:
数字5在列表中出现了3次	

5.extend方法:将一个可迭代对象的元素添加到列表末尾

函数功能:

在一个列表的末尾追加另一个列表中的所有元素。

语法:

list1.extend(list2)

其中,list1是目标列表,list2是要添加到目标列表list1末尾的列表。

参数介绍:

extend()方法只有一个参数,即要添加到目标列表末尾的列表,这个参数必须是一个可迭代对象,例如列表、元组、字典、集合等。

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

# 将list2中的元素添加到list1的末尾
list1.extend(list2)

print(list1)
输出:
[1, 2, 3, 'a', 'b', 'c']

注意:

extend()方法只会将另一个列表中的元素追加到目标列表的末尾,而不是创建一个新的列表。同时,如果目标列表和源列表有相同的元素,extend方法也会把源列表中的元素全部追加到目标列表中,这些元素的顺序与源列表中的顺序一致。

6.index方法:返回列表中指定元素的索引值

函数功能:

返回列表中第一个匹配给定元素的位置。

语法:

list.index(value[, start[, end]])

其中,list是要查找元素的目标列表,value是要查找的元素,startend是可选参数,表示查找范围的起始位置(默认为列表开始位置)和终止位置(默认为列表结束位置)。

代码示例:

fruits = ['apple', 'banana', 'cherry', 'orange']

# 查找orange元素在列表中第一次出现的位置
index = fruits.index('orange')

print("orange在列表中第一次出现的位置是:", index)
输出:
orange在列表中第一次出现的位置是: 3

注意:

如果目标元素不存在于列表中,将会引发ValueError异常。可以在index()方法中指定可选参数来限制搜索范围。如果指定范围之外的位置,index()方法将返回ValueError异常。

7.insert方法:在指定索引位置插入元素

函数功能:

将元素插入到指定位置,其他元素向后移动。

语法:

list.insert(index, value)

其中,list是目标列表,index表示要插入元素的位置,value表示要插入的元素。

参数介绍:

index:要插入元素的位置。必须是一个整数。

value:要插入的元素。可以是任何数据类型的值,包括字符串、数字、布尔值、列表、元组、字典、集合等。

代码示例:

fruits = ['apple', 'banana', 'cherry']

# 在索引为1的位置插入新元素
fruits.insert(1, "orange")

print(fruits)

输出:
['apple', 'orange', 'banana', 'cherry']

注意:

如果指定的索引值大于列表中的元素个数,那么元素将被追加到列表的末尾。另外,插入操作是不会替换掉对应位置的原有元素的,而是将其后移一个位置。

8.pop方法:删除指定索引位置的元素,并返回该元素

函数功能:

用于删除列表中指定位置的元素,并返回删除的元素。

语法:

list.pop([index])

其中,list 是目标列表,index 是元素所在的位置,默认为-1,即从列表末尾删除元素。

参数介绍:

pop() 方法只有一个参数,即要删除元素的位置 index,如果未提供位置,则默认删除列表最后一个元素。

代码示例:

list1 = ['apple', 'banana', 'cherry']
print(list1.pop(1))  # banana
print(list1)  # ['apple', 'cherry']

9.remove方法:删除列表中指定元素的第一个匹配值

函数功能:

用于删除列表中第一个匹配给定元素的值。

语法:

list.remove(value)

其中,list 是目标列表,value 是要删除的元素。

参数介绍:

remove() 方法只有一个参数,即要删除的元素 value。 如果列表中不存在该元素,则抛出 ValueError 异常。

代码示例:

fruits = ['apple', 'banana', 'cherry']

# 删除列表中的元素'banana'
fruits.remove('banana')

print("删除后的列表:", fruits)
输出:
删除后的列表: ['apple', 'cherry']

10.reverse方法:将列表中的元素逆序排列

函数功能:

用于将列表中的元素反向排列。

语法:

list.reverse()

代码示例:

fruits = ['apple', 'banana', 'cherry', 'orange']

# 反转水果列表
fruits.reverse()

print(fruits)

注意:reverse()方法在原列表上进行修改,不会返回修改后的列表。

11.sort方法:对列表中的元素进行排序,可接收关键字参数

函数功能:

用于对列表进行排序(即按照一定的规则重新排列列表中的元素)。

语法:

list.sort(key=None, reverse=False)

其中,list 是目标列表,key 是排序规则函数,翻转默认为 False ,表示升序。

参数介绍:

sort() 方法有两个可选参数:

- key:用于指定按照哪个函数进行排序,例如按照字符串长度排序、按照字符串中字符的 ASCII 码大小排序等等。默认为 None,表示按照列表元素的原有顺序进行排序。

- reverse:表示要进行降序排序,可以设置为 True,否则就是默认的升序排序,设置为 False。

代码示例:

1.直接元素之间比大小,不指定key

list1 = [3, 2, 1, 4, 5]
list1.sort()
print(list1)  # [1, 2, 3, 4, 5]

list2 = ['apple', 'banana', 'cherry']
list2.sort(reverse=True)
print(list2)  # ['cherry', 'banana', 'apple']

2,列表中元素为字典时,按照字典中某个值比大小

students = [
    {"name": "Tom", "age": 20, "score": 85},
    {"name": "Jerry", "age": 18, "score": 90},
    {"name": "Marry", "age": 19, "score": 92}
]
# 按照成绩排序
students.sort(key=lambda x: x['score'])
print(students)

输出:
[{'name': 'Tom', 'age': 20, 'score': 85},
 {'name': 'Jerry', 'age': 18, 'score': 90},
 {'name': 'Marry', 'age': 19, 'score': 92}]

3.按照列表嵌套的某个值进行排序

students = [
    ["Tom", 20, 85],
    ["Jerry", 18, 90],
    ["Marry", 19, 92]
]
# 按照成绩排序
students.sort(key=lambda x: x[2])

print(students)
输出:
[['Tom', 20, 85], ['Jerry', 18, 90], ['Marry', 19, 92]]


4.按照判断条件筛选进行排序

students = [
    {"name": "Tom", "age": 20, "score": 85},
    {"name": "Jerry", "age": 18, "score": 90},
    {"name": "Marry", "age": 19, "score": 92},
    {"name": "Anna", "age": 21, "score": 90},
    {"name": "David", "age": 19, "score": 82}
]

# 按照年龄排序,年龄相同按成绩排序
students.sort(key=lambda x: (x['age'], -x['score']))

print(students)

输出:
[{'name': 'Jerry', 'age': 18, 'score': 90},
 {'name': 'David', 'age': 19, 'score': 82},
 {'name': 'Marry', 'age': 19, 'score': 92},
 {'name': 'Tom', 'age': 20, 'score': 85},
 {'name': 'Anna', 'age': 21, 'score': 90}]
posted @ 2023-03-30 21:18  我不知道取什么名字好  阅读(44)  评论(0编辑  收藏  举报