数据类型_列表
一、列表数据类型
“列表”是一个值,它包含多个字构成的序列。
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']
愚者不努力,懒人盼巅峰

浙公网安备 33010602011771号