Python笔记——全网最全Python系列教程(非常详细)

???这篇是关于Python中列表的讲解,涉及到以下内容,欢迎点赞和收藏,你点赞和收藏是我更新的动力???

在这里插入图片描述
本文将从以下几个方面展开对列表的讲解:

1、列表究竟是一个什么东西?
2、如何去定义一个列表
3、列表常用操作有哪些
4、列表中涉及到迭代器,那么迭代器又是什么?
5、列表还有一些其他操作,该怎么样玩转列表?

文章目录

1、列表概念

到底什么是列表?

在这里插入图片描述
回顾字符串,不清楚的朋友,可以查看我的字符串篇
???全网最全Python系列教程(非常详细)—字符串讲解(学Python入门必收藏)???

字符就是一个一个字符组合起来的
字符是一个有序的不可变序列
在这里插入图片描述
这里有一个非常非常非常重要的概念就是可变与不可变,在Python中可变与不可变如何体现?

在这里插入图片描述

str1 = 'python'
lst1 = [1, 2, 3]
print(id(lst1))  # 2554276364616

# 我们没有办法修改str1中的数据,只能改变整个字符串
# 所以字符串是一个不可变数据类型

# 对列表进行改变后,列表的id没有发生变化,这就是一个可变数据类型
lst1.append(10)
print(id(lst1))  # 2554276364616
str1 = 'python'
lst1 = [1, 2, 3]
print(id(lst1))  # 2554276364616

# 我们没有办法修改str1中的数据,只能改变整个字符串
# 所以字符串是一个不可变数据类型

# 对列表进行改变后,列表的id没有发生变化,这就是一个可变数据类型
lst1.append(10)
print(id(lst1))  # 2554276364616

2、列表定义

2.1、直接定义

在这里插入图片描述

lst1 = [10, 20, 30]
lst1 = [10, 20, 30]

在这里插入图片描述

lst1 = [10, 20, 30, [1, 2, 3]]
lst1 = [10, 20, 30, [1, 2, 3]]

在这里插入图片描述
注意和C语言中数组的区别:

C语言的数组是存放相同数据类型的
Python的列表可以存放不同的数据类型
在这里插入图片描述
2.2、列表生成式

在这里插入图片描述

lst1 = range(100)
print(lst1, type(lst1))

lst2 = list(range(100))
print(lst2, type(lst2))
lst1 = range(100)
print(lst1, type(lst1))

lst2 = list(range(100))
print(lst2, type(lst2))

在这里插入图片描述
为什么在Python3中,range()不直接生成一个列表?

在这里插入图片描述
2.3、列表推导式

在这里插入图片描述

在这里插入图片描述

# 假设现在有一个需求,需要创建一个列表,里面全部是一个列表中数据的平方
lst1 = [1, 2, 3, 4, 5]
lst2 = []

for val in lst1:
    lst2.append(val ** 2)

print(lst2)
# 我们在没有使用列表推导式的时候,需要这样写

lst3 = [i ** 2 for i in lst1]
print(lst3)
# 假设现在有一个需求,需要创建一个列表,里面全部是一个列表中数据的平方
lst1 = [1, 2, 3, 4, 5]
lst2 = []

for val in lst1:
    lst2.append(val ** 2)

print(lst2)
# 我们在没有使用列表推导式的时候,需要这样写

lst3 = [i ** 2 for i in lst1]
print(lst3)

在这里插入图片描述

在这里插入图片描述

lst3 = [i ** 2 for i in lst1 if i % 2 == 0]
print(lst3)
lst3 = [i ** 2 for i in lst1 if i % 2 == 0]
print(lst3)

在这里插入图片描述
当然,也可以从少到多

lst1 = [1, 2, 3]
lst2 = [i for i in lst1 for j in lst1]
print(lst2)
lst1 = [1, 2, 3]
lst2 = [i for i in lst1 for j in lst1]
print(lst2)

对比下面两种写法

lst1 = [1 for i in [1, 2, 3]]
lst2 = [i for i in [1, 2, 3]]

print(lst1)  # [1, 1, 1]
print(lst2)  # [1, 2, 3]
lst1 = [1 for i in [1, 2, 3]]
lst2 = [i for i in [1, 2, 3]]

print(lst1)  # [1, 1, 1]
print(lst2)  # [1, 2, 3]

在这里插入图片描述
3、常用操作

3.1、增

3.1.1、append

在这里插入图片描述

lst1 = [1, 2, 3, 4, 5]

lst1.append(100)
print(lst1)
lst1 = [1, 2, 3, 4, 5]

lst1.append(100)
print(lst1)

3.1.2、insert

在这里插入图片描述

lst1 = [1, 2, 3, 4, 5]

lst1.insert(1, 100)
print(lst1)
lst1 = [1, 2, 3, 4, 5]

lst1.insert(1, 100)
print(lst1)

3.1.3 extend

在这里插入图片描述在这里插入图片描述

lst1 = [1, 2, 3, 4, 5]

lst1.extend(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊健的影子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值