python 列表
列表(list),是一个有序且可变的容器,在里面可以存放多个不同类型
不可变类型:字符串、布尔、整型(已最小,内部数据无法进行修改)
可变类型:列表(内部数据元素可以修改)
2.独有功能
现和字符串做一个对比
2.1 字符串,不可变,即:创建好之后内部就无法修改。【独有功能都是新创建一份数据】
name = "love"
data = name.upper()
print(name)
print(data)
2.2 列表,可变,即:创建好之后内部元素可以修改。【独有功能基本上都是直接操作列表内部,不会创建新的一份数据】
user_list = ["虎","狼"]
user_list.append("花")
print(user_list) # ["虎","狼","花"]
2.3 尾部单个追加
list1 = []
list1.append('xxx') # ['xxx']
2.4 批量追加-一个列表追加到另一个列表尾部
list1 = [1,2,3]
list2 = ['a','b','c']
list1.extend(list2) # [1,2,3,'a','b','c']
2.5 插入-在指定位置插入
list1 = [1,2,3,4]
list1.insert(0, 'b')
2.5 在原列表中根据值删除(从左到右找到第一个删除)【慎用,里面没有会报错】
list1 = ['aaa', 'bbb', 'ccc']
list1.remove('aaa')
2.6 在原列表中根据索引踢出某个元素(根据索引位置删除)
list1 = ['aaa', 'bbb', 'ccc']
list1.pop(1) # ['aaa', 'ccc'] # 写参数默认删除索引位置的值
list1.pop() # ['aaa'] # 不写参数,默认删除最后一个值
2.6 清空原列表
list1 = ['aaa', 'bbb', 'ccc']
list1.clear() # []
2.7 根据值获取索引(从左到右找到第一个删除)【慎用,找不到报错】
list1 = ['aaa', 'bbb', 'ccc']
list1.index('aaa') # 0
2.8 列表元素排序
num_list= [5, 1, 6]
num_list.sort() # 让num_list从小到大排序
num_list.sort(reverse=True) # # 让num_list从大到小排序
注意:排序时内部元素无法进行比较时,程序会报错(尽量数据类型统一)。
2.9 反转原列表--返回值为None,仅仅会改变原列表的排序,逆序
num_list= [5, 1, 6, 'a']
user_list.reverse()
3.公共功能
3.1 相加,两个列表相加获取生成一个新的列表。
[1,2,3] + [4,5] = [1,2,3,4,5]
3.2 相乘,列表*整型 将列表中的元素再创建N份并生成一个新的列表。
[1,2,3] * 2 = [1,2,3,1,2,3]
3.3 运算符in包含
由于列表内部是由多个元素组成,可以通过in来判断元素是否在列表中。
1 in [1,2,3,1,2,3]
注意:列表检查元素是否存在时,是采用逐一比较的方式,效率会比较低。
3.4 获取长度
len([1,2,3,1,2,3])
3.5 索引,一个元素的操作
list1 = [1,2,3,4,5]
读
list1[1] # 2
list1[10] # 报错
改
list[0] = 'aaa'
print(list) # ['aaa',2,3,4,5]
删除
list1 = ['aaa',2,3,4,5]
list1.remove('aaa')
list1.pop(0)
3.6 切片,多个元素的操作(很少用)--切出来一个新的列表
list1 = [1,2,3,4,5]
list1[:]
list1[0,2]
list1[:-1]
list1[-1::-1] # 倒序
list1[::-1] # 倒序
注意,第一个为切片的起始为止包含,第二个参数为切片的终止位置不包含(-1可以理解为最后一个),第三个参数为步长(1是挨个取,2是跳一个取,-1是倒着取);
类似于字符串切片
4.转换 list()
4.1 int,bool类型无法转化为列表
list1 = [1,2,3,4,5]
4.2 str转化为列表
list1 = '你好啊'
data = list(list1)
print(data) # ['你', '好', '啊']
4.3 元组,集合可转列表
元组
list1 = (1,2,3)
list2 = list(list1) # [1,2,3]
列表
list1 = {1,2,3}
list2 = list(list1) # [1,2,3]
5.嵌套
列表属于容器,内部可以存放各种数据,所以他也支持列表的嵌套
list1 = [1,[1,2,3],3]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了