数据类型_列表
一、列表数据类型
“列表”是一个值,它包含多个字构成的序列。
1 spam = ["hello",3.14159,True,"elephant"] 2 []
变量spam只被赋予值:列表值,但列表值本身包含多个值。
[]是一个空列表,不包含任何值,类似于空字符串“”。
- 用下表取得列表中的单个值:
spam = ['cat','bat','rat','elephant'] spam[0] spam[1] spam[2] spam[3]
下标只能是整数,不能是浮点值
spam = ['cat','bat','rat','elephant'] >>> spam[1] 'bat' spam[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers or slices, not float
列表也可以包含其他列表值。这些列表的列表中的值,可以通过多下标来访问
spam = [["cat","bat"],[10,20,30,40,50]] >>> spam[0] ['cat', 'bat'] >>> spam[0][1] 'bat' >>> spam[1][4] 50
第一个下标表明使用哪个列表值,第二个下标表明该列表中的值
- 负数下标
虽然下标从0开始并向上增长,但也可以用负整数作为下标。
spam = ['cat','bat','rat','elephant'] >>> spam[-1] 'elephant' >>> spam[-3] 'bat'
- 利用切片取得子列表
spam = ['cat','bat','rat','elephant'] spam[2] spam[1:4] spam[0:-1]
- 用len获取列表长度
spam=['cat','dog','hello'] len(spam)
- 用下标改变列表的值
spam=["dak","bat","rat","elephant"] spam[1]="aardvark" spam ['dak', 'aardvark', 'rat', 'elephant'] spam[-1]="ssfd" spam ['dak', 'aardvark', 'rat', 'ssfd']
- 列表链接和列表复制
#列表连接 [1,2,3]+["a","B","c"] #列表复制 ["x","Y","z"] * 3
- 用del语句从列表中删除值
spam=["cat","bat","rat","elephant"] del spam[2] spam ["cat","bat","elephant"]
二、使用列表
- 列表用于循环
supplies=["pens","staplers","flame-throwers","binders"] for i in range(len(supplies)): print("Index " + str(i) +"in supplies is:" + supplies[i]) Index 0 in supplies is:pens Index 1 in supplies is:staplers Index 2 in supplies is:flame-throwers Index 3 in supplies is:binders
- in 和 not in 操作符
>>> spam = ["hello","hi","howdy","heyas"] >>> "cat" in spam False >>> "howdy" in spam True
- 多重赋值技巧
>>> cat = ["fat","black","loud"] >>> size,color,disposition = cat >>> cat ['fat', 'black', 'loud']
三、增强赋值操作
增强的赋值语句 | 等价的赋值语句 |
spam +=1 | spam = spam + 1 |
spam -=1 | spam = spam -1 |
spam *=1 | spam = spam * 1 |
spam /=1 | spam = spam/1 |
spam %=1 | spam = spam%1 |
四、方法
- 用index()方法在列表中查找值
>>> spam = ["Zophie","Pooka","fat-tail","hello","sdfd","hello"] >>> spam.index("hello") 3
- 用append()和insert()方法在列表中添加值
>>> spam = ["cat","dog","bat"] >>> spam.append("sdfds") >>> spam ['cat', 'dog', 'bat', 'sdfds']
>>> spam = ["cat","dog","bat"] >>> spam.insert(1,"suning") >>> spam ['cat', 'suning', 'dog', 'bat']
append()方法调用,将参数添加到列表末尾,insert()方法可以在列表任意下标处插入一个值。
- 用remove()方法从列表中删除值
>>> spam = ["cat","dog","bat","elephant"] >>> spam.remove("bat") >>> spam ['cat', 'dog', 'elephant']
- 用sort()方法将列表中的值排序
>>> spam = [2,5,3.14,1,-7] >>> spam.sort() >>> spam [-7, 1, 2, 3.14, 5] >>> spam.sort(reverse=True) >>> spam [5, 3.14, 2, 1, -7] >>> spam = ['a',"z","A","Z"] >>> spam.sort(key=str.lower) >>> spam ['a', 'A', 'z', 'Z']
作者:solomon-zj
出处:https://www.cnblogs.com/solomon-zj/p/16609826.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
愚者不努力,懒人盼巅峰
Buy me a cup of coffee ☕.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!