文章目录
前言:
本文将系统性地带您探索列表的奥秘世界。从最基础的认识列表和创建列表开始,逐步深入到元素操作、属性了解、切片技巧、最值计算以及丰富的方法使用。我们还将揭开列表推导式的神秘面纱,领略Python特有的简洁而强大的语法糖。
1.认识列表
在Python中,列表(List)是一种可变的序列类型,用于存储一组有序的元素,元素可以是不同类型。列表用方括号[]表示,元素之间用逗号分隔。
列表的优点:
比如说=>我们班上有40个人,我们使用变量命名的时候,我们需要定义40个变量
那这样太麻烦了,所以我们可以使用一个列表,一起给定义了
name1 = "张三"
name2 = "李四"
....
我们使用列表 => []
列表名 = ["张三","李四"]
语法:
# 定义一个列表
str_list = ["张三","李四","王五"]
# 0 1 2
print(str_list)
# 我们之前也讲过,for循环的本质就是用来遍历一个序列数据的,列表就是要给序列数据
for item in str_list:
print(item)
print("遍历列表的时候,获取列表的下标")
# 第二个参数start => 从什么开始的,默认不写的话,那么就是从0开始的
for index,item in enumerate(str_list,start=5):
print(index,item)
输出结果
['张三', '李四', '王五']
张三
李四
王五
遍历列表的时候,获取列表的下标
5 张三
6 李四
7 王五
2.创建列表
创建列表的语法 =>
创建的是一个空的列表 =>
列表名 => []
创建的是有一个数据的列表 =>
列表名 => [1,2,3,3,4,5,"字符串abc"]
代码示例
str1_list = [] #这里定义的是一个空字符串
num_list = [1,2,3,4,5,"展示"]#这是一个有数据字符串
print(str1_list)
print(num_list)
输出结果
[]
[1, 2, 3, 4, 5, '展示']
3.获取列表当中的元素
3.1 原理
获取列表当中的元素,是根据下标来进行获取的
列表的下标也是从0开始的
获取元素 =>
列表名[下标]
修改元素 =>
列表名[下标] = 值
3.2编写代码
1.获取:现在我们来获取一个列表下标为3的元素
number_list = [1,3,5,7,9]
# 这里代表下标 0 1 2 3 4
print(number_list[3]) # 获取下标为3的元素
输出
7
2.获取列表所有元素
#创建一个列表
my_list = [1,3,5,7,9]
#通过循环遍历每一个元素然后输出
for i in my_list:
print(i)
输出结果
1
3
5
7
9
*注意:列表和字符串的区别就是列表可以通过下标来修改,而字符串不行 *
3.修改:现在我们在来根据下标来修改列表的元素
number_list = [1,3,5,7,9]
# 这里代表下标 0 1 2 3 4
number_list[3] = "小刘"
print(number_list[3])
输出
小刘
4.删除列表中元素
4.1语法:
删除列表当中的元素
语法 => del 列表[下标]
4.2 代码示例
#主要是del的使用
str_list = ["张三","李四","王五"]
del str_list[1]
print(str_list)
输出结果
['张三', '王五']
5.列表的属性
5.1列表属性有哪些
列表的属性 =>
len => 获取列表的长度
+ => 让列表进行组合
* => 让列表的元素重复
in => 判断列表当中是否存在某一个元素
not in => 判断列表当中是否不存在某一个元素
5.2属性的运用
list1 = [1,3,5,7,9]
# 获取列表的长度
print(len(list1))
# 让列表进行组合
list1 = [1,2,3]
list2 = [6,7,8]
print(list2+list1)
# 让列表的元素重复
print(list2 * 3)
# 判断列表当中存在某一个元素
print("--------")
print(list2)
print(10 in list2) # 判断在列表当中是否存在10
# 判断字符串里面是否不存在某一个元素
print(10 not in list2)
#注意 in 和 not in 输出的是bool类型(True/False)
输出结果
5
[6, 7, 8, 1, 2, 3]
[6, 7, 8, 6, 7, 8, 6, 7, 8]
--------
[6, 7, 8]
False
True
6.列表的切片
6.1 语法:
列表的切片
语法和字符串一样
切片的语法:
# start => 开始的下标,切片的起始索引
# end => 结束的下标,默认为字符串的长度
# step => 截取的步子长度,默认为1
字符串的名[start:end:step]
6.2 示例代码
list1 = ["a","b","c","d","e"]
print(list1[1:]) # 获取的是从下标1开始,获取到最后
print(list1[3:]) # 获取的是从下标3开始,获取到最后
print(list1[1:3]) # 获取从下标1开始,到3结束 => 包头不包尾
print(list1[-4:-3]) # 从下标为-4(从后面往前面数),到下标为-1结束
print(list1[:]) # 从开始到结束
print(list1[::-1]) # 反转列表
print(list1[::2]) # 从开始到结束,步长为2
输出结果
['b', 'c', 'd', 'e']
['d', 'e']
['b', 'c']
['b']
['a', 'b', 'c', 'd', 'e']
['e', 'd', 'c', 'b', 'a']
['a', 'c', 'e']
7.列表的最值
7.1语法:
我们一般求最值的时候,一般都是针对数字的
语法 =>
max(list) => 获取的就是列表元素当中的最大值
min(list) => 获取的就是列表元素当中的最小值
7.2 示例代码
获取列表的最大,最小值
list1 = [1,3,5,7,9,2,4,6,8]
# 获取列表当中的最大值
print(max(list1))
# 获取列表当中的最小值
print(min(list1))
输出结果
9
1
8.列表的方法
8.1 列表有哪些方法
列表的方法
obj => 对象 => 万事万物皆对象
list.append(obj) => 在列表的末尾添加一个元素,没有返回值
list.extend(obj) => 将一个序列添加到列表的最后面,没有返回值
list.reverse() => 反转列表,没有返回值
list.remove => 删除列表当中的元素
list.count(obj) => 统计列表当中某一个元素出现的次数,有返回值,结果就在返回值
sorted => 有返回值,结果就在返回值
sorted(list) => 对列表进行排序,默认就是从小到大的排序
sorted(list,revers=True) => 对列表进行从大到小的排序
8.2 每种方法怎么用
# append
list1 = [1,3,5,7,9,2,8]
list1.append(2)
print(list1)
# count
res1 = list1.count(2)
print(res1)
# extend
list1.extend([4,6])
print(list1)
# reverse => 相当于列表名[::-1]
list1.reverse()
print(list1)
# sorted
result = sorted(list1)
print(result)
result = sorted(list1,reverse=True)
print(result)
print(list1)
# remove
list1.remove(9)
print(list1)
输出结果
[1, 3, 5, 7, 9, 2, 8, 2]
2
[1, 3, 5, 7, 9, 2, 8, 2, 4, 6]
[6, 4, 2, 8, 2, 9, 7, 5, 3, 1]
[1, 2, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 2, 1]
[6, 4, 2, 8, 2, 9, 7, 5, 3, 1]
[6, 4, 2, 8, 2, 7, 5, 3, 1]
9.列表推导式(重点)
9.1 语法
列表推导式的语法 =>
本质就是for循环
res = [item或者对item加工处理 for item in 列表]
9.2运用列表推导式
我们现在要实现这样一个操作:
1. 我们需要定义一个空的列表
2. 我们需要循环list1这个列表
3. 获取里面的每一个元素
4. 将里面的每一个元素都乘以2
5. 将乘以2的结果存储到之前定义的空列表当中
如果我们不用列表推导式,我们将会这样实现
list1 = [1,2,3,4,5]
result = []
for item in list1:
res = item * 2
result.append(res)
print(result)
如果我们使用列表推导式我们将会这样实现:
result1 = [item*2 for item in list1]
print(result1)
推导式的原理
循环次数 元素
1 2 => item => [2]
2 4 => item => [2,4]
3 6 => item => [2,4,6]
4 8 => item => [2,4,6,8]
5 10 => item => [2,4,6,8,10]
10.回顾总结
回顾内容:
核心要点回顾
列表基础:我们了解了列表的基本概念和创建方式,认识到列表可以存储不同类型的元素,极大提高了数据组织的灵活性。
元素操作:掌握了通过下标访问和修改元素的方法,以及使用del关键字删除特定元素的技巧,这些都是日常编程中最常用的操作。
列表属性:熟悉了len()、+、*、in、not in等操作符的使用,这些属性让我们能够轻松获取列表信息并进行基本操作。
高级技巧:切片操作让我们能够优雅地获取子列表;max()和min()函数方便我们快速找到极值;各种列表方法如append()、extend()、remove()等大大丰富了列表的操作能力。
精华部分:列表推导式作为Python的特色功能,以其简洁高效的语法成为处理列表数据的利器,值得我们深入掌握并灵活运用。