???这篇是关于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(