Python中的列表

本文详细介绍了Python中列表的基本概念,包括列表的创建、可变与不可变特性、遍历方法、常用操作(如添加、删除、索引、统计和排序),并提供了一个实际案例,展示了如何在列表中随机插入数值并计算最大值与最小值的差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

执行结果:

由于是随机生成的数,差值结果不会唯一

小结

对列表数据进行操作时,要注意获取的是列表的索引还是元素。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值