1.列表基础知识
在python中,列表(list)是一种用于存储多个值的数据结构。列表是有序的,可以包含各种不同类型的元素,包括整数、字符串、浮点数等。列表使用方括号“[]
”来创建,元素之间用逗号 ,
分隔。
列表的声明
两种方法:list0 = [],直接构造,可以为空,放入元素可以是任何类型,元素之间使用逗号分隔。
l = list(),括号里是参数,不写入参数就是空列表;参数非空,必须是iterable,可迭代 的对象,可以使用for循环遍历,如字符串、列表、range()等。
# 创建列表
# l0 = []
# 直接构造,参数为空就是空列表
# 参数非空必须是iterable,可迭代,字符串、列表等 可以使用for循环
# l2 = list()
# print(l2)
# l1 = list(range(5))
# print(l1)
# l3 = list("hello")
# print(l3)
# l4 = list([1, 2, 3, 4])
# print(l4)
2.可变列表与不可变列表的字符串
可变列表就是可以对已创建的进行增删改查,改变的是该列表的内容。
不可变列表通中,如果要改变内容,则需要创建一个新的列表来存储改变的内容,其中包含着旧列表的元素。
# 可变列表,指的是列表中内容可以发生变化,如append()
# 此时地址不变,即为可变列表
# l1 = [1]
# print(id(l1))
# l1.append(9)
# print(id(l1), l1)
# 重新将列表赋值,地址改变
# 本质上改变的不是列表而是内存地址
# l1 = []
# print(id(l1))
# l2 = [1, 2]
# print(id(l2))
3.列表的遍历
遍历是指逐一访问数据结构(如列表、数组、字典、集合等)中的每个元素,以便对每个元素执行特定的操作,可以处理数据集合中的每个元素,无论集合的大小如何。
列表的遍历,就是获取到列表中每一个元素以及对应的索引,方便处理数据。
遍历方法:for e in llst0 获取列表每一个元素
for i in range(len(list0)) 获取列表每一个元素以及对应的索引值
# 空列表为假
# 假:False、0、None、""、[]
# 列表中的元素可以是任意数据类型
l0 = [1, 2, "one", ["A", "B"], False, None]
print(l0)
# 遍历
for e in l0:
print(e)
for i in range(len(l0)):
print(i, l0[i])
4.列表的操作方法
列表常见操作:添加、删除、索引、统计次数、排序等
添加:append() 追加到列表末尾
insert() 将元素插入到指定位置
extend() 将可迭代内容逐个追加到列表末尾
删除:pop() 默认删除末尾 有返回值, 也可以删除指定索引位置的元素
remove() 删除指定内容的元素,没有返回值,元素不存在会报错
clear() 清空列表
l5 = [2, 4, 6, 8, 10]
l5.append("偶数")
print(l5)
# 将元素插入到指定位置
l5.insert(0, 1)
print(l5)
# 将可迭代内容逐个追加到列表末尾
l5.extend("hi")
print(l5)
# 删除 pop() remove() clear()
# 默认删除末尾 有返回值
l5.pop()
print(l5)
# 可以删除指定索引位置的元素
l5.pop(0)
print(l5)
# 删除指定内容的元素,没有返回值,元素不存在会报错
l5.remove("偶数")
print(l5)
# 清空列表
l5.clear()
print(l5)
索引:index() 返回元素对应的索引
统计次数:count() 返回元素出现的次数
排序:sort() 默认升序
reverse() 降序
*3:重复三次
# index()返回元素对应的索引
l6 = [1, 2, 3, 4, 5, 6, 7]
print(l6.index(2))
print(l6.index(4, 2, 5))
# count() 返回元素出现的次数
print(l6.count(4))
# reverse() 降序
l6.reverse()
print(l6)
# sort() 默认升序
l6.sort()
print(l6)
# *=3
l6 *= 3
print(l6)
5.列表简单案例
需求:列表中随机放入50个10-100之间的数,求最大值最小值的差
代码:
# 创建一个空列表
l0 = []
# 使用for循环设置次数
for i in range(50):
# 使用random下的randint生成50-100之间随机数
num = random.randint(10, 100)
# 生成一个随机数,就将随机数添加到列表末尾
l0.append(num)
# 使用max()、min()函数直接得到列表中的最大最小值
max_num = max(l0)
min_num = min(l0)
# 输出两者的差值
print(max_num - min_num)
执行结果:
由于是随机生成的数,差值结果不会唯一
小结
对列表数据进行操作时,要注意获取的是列表的索引还是元素。