Python3 列表
1426字约5分钟
2024-08-10
序列是 Python
中最基本的数据结构
序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0
,第二个索引是 1
,依此类推
Python
有 6
个序列的内置类型,但最常见的是列表和元组
列表都可以进行的操作包括索引,切片,加,乘,检查成员
此外,Python
已经内置确定序列的长度以及确定最大和最小的元素的方法
列表是最常用的 Python
数据类型,它可以作为一个方括号内的逗号分隔值出现
列表的数据项不需要具有相同的类型
创建列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
# 创建空的列表
my_list = list()
my_list = []
# 定义一个列表 list
my_list = ["a", "b", "c"]
print(my_list) # ['a', 'b', 'c']
print(type(my_list)) # <class 'list'>
my_list = ["d", 666, True]
print(my_list) # ['d', 666, True]
print(type(my_list)) # <class 'list'>
# 定义一个嵌套列表
my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list) # [[1, 2, 3], [4, 5, 6]]
print(type(my_list)) # <class 'list'>
访问列表中的值
通过索引获取对应位置数据,语法 列表[下标索引]
,可以从前往后从 0
开始,每次 +1
,也可以从后往前从 -1
开始,每次 -1
通过索引列表可以进行截取、组合等操作
my_list = ["Apple", "Banana", "Watermelon"]
# 从前向后
print(my_list[0]) # Apple
print(my_list[1]) # Banana
print(my_list[2]) # Watermelon
# 从后往前
print(my_list[-1]) # Watermelon
print(my_list[-2]) # Banana
print(my_list[-3]) # Apple
# 取出嵌套列表的元素
my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list[1][1]) # 5
更新列表
你可以对列表的数据项进行修改或更新,你也可以使用 append()
方法来添加列表项
my_list = ["Apple", "Banana", "Watermelon"]
my_list[0] = "苹果"
print(f"列表被修改元素值后,结果是:{my_list}")
# 列表被修改元素值后,结果是:['苹果', 'Banana', 'Watermelon']
在指定下标位置插入新元素
my_list = ["Apple", "Banana", "Watermelon"]
my_list.insert(0, "pineapple")
print(f"列表被插入元素值后,结果是:{my_list}")
# 列表被插入元素值后,结果是:['pineapple', 'Apple', 'Banana', 'Watermelon']
在列表的尾部追加单个元素
my_list = ["Apple", "Banana", "Watermelon"]
my_list.append("mango")
print(f"列表被追加元素值后,结果是:{my_list}")
# 列表被追加元素值后,结果是:['Apple', 'Banana', 'Watermelon', 'mango']
在列表的尾部追加一批元素
my_list = ["Apple", "Banana", "Watermelon"]
my_list_2 = ["pineapple", "mango"]
my_list.extend(my_list_2)
print(f"列表被追加一批元素值后,结果是:{my_list}")
# 列表被追加一批元素值后,结果是:['Apple', 'Banana', 'Watermelon', 'pineapple', 'mango']
查找某元素在列表内的下标索引,如果查找元素不存在则会报错
my_list = ["Apple", "Banana", "Watermelon"]
index = my_list.index("Banana")
print(f"Banana 在列表中的下标索引值是:{index}")
# Banana 在列表中的下标索引值是:1
删除列表元素
方式一:del 列表[下标]
my_list = ["Apple", "Banana", "Watermelon"]
del my_list[2]
print(f"列表删除元素后结果是:{my_list}")
# 列表删除元素后结果是:['Apple', 'Banana']
方式二:列表.pop(下标)
,返回弹出的列表元素
my_list = ["Apple", "Banana", "Watermelon"]
element = my_list.pop(1)
print(f"列表删除元素后结果是:{my_list},取出的元素是:{element}")
# 列表删除元素后结果是:['Apple', 'Watermelon'],取出的元素是:Banana
方式三:列表.remove(元素)
,删除某元素在列表的第一个匹配项
my_list = ["Apple", "Banana", "Watermelon", "Banana"]
my_list.remove("Banana")
print(f"列表匹配元素删除后结果是:{my_list}")
# 列表匹配元素删除后结果是:['Apple', 'Watermelon', 'Banana']
列表脚本操作符
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
[1, 2, 3].clear() | None | 清空列表 |
[1, 2, 3].count(1) | 1 | 统计列表内某元素的数量 |
列表截取与拼接
Python
的列表截取与字符串操作类型
my_list = [0, 1, 2, 3, 4, 5, 6]
表达式 | 结果 | 描述 |
---|---|---|
my_list[2] | 2 | 获取下标为 2 的列表元素,即列表中的第三个元素 |
my_list[-2] | 5 | 从后往前,读取倒数第二个元素 |
my_list[2:] | [2, 3, 4, 5, 6] | 从下标为 2 元素开始后的所有元素 |
my_list[1:4] | [1, 2, 3] | 从下标 1 开始到下标 4 结束,不包含下标为 4 的元素,步长为 1 |
my_list[3:1:-1] | [3, 2] | 从下标 3 开始到下标 1 结束,不包含下标为 1 的元素,步长为 1 |
my_list[1:5:2] | [1, 3] | 从下标 1 开始到下标 5 结束,不包含下标为 5 的元素,步长为 2 |
列表函数&方法
Python
包含以下函数
函数 | 说明 |
---|---|
len(list) | 列表元素个数 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(seq) | 将元组转换为列表 |
Python
包含以下方法
函数 | 说明 |
---|---|
list.append(obj) | 在列表末尾添加新的对象 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list.insert(index, obj) | 将对象插入列表 |
list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
list.remove(obj) | 移除列表中某个值的第一个匹配项 |
list.reverse() | 反向列表中元素 |
list.sort( key=None, reverse=False) | 对原列表进行排序 |
list.clear() | 清空列表 |
list.copy() | 复制列表 |