Python小白成长日记:基础语法篇(七):列表


前言:

本文将系统性地带您探索列表的奥秘世界。从最基础的认识列表和创建列表开始,逐步深入到元素操作、属性了解、切片技巧、最值计算以及丰富的方法使用。我们还将揭开列表推导式的神秘面纱,领略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的特色功能,以其简洁高效的语法成为处理列表数据的利器,值得我们深入掌握并灵活运用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值