【第5天】Python第一阶段学习总结
2021/09/18
一. 列表基础
-
什么是列表(list) a. 列表是Python自带的容器型数据类型:将[]作为容器的标志,里面多个元素用逗号隔开:[元素1、元素2、元素3,…] b. 列表是可变的(支持增删改);列表是有序的(支持下标操作) c. 列表的元素的要求:
-
任何类型的数据都可以作为列表的元素 -
同一个列表中的数据类型可以不一致。 -
空列表 list1 = []
print(list1, type(list1))
-
列表中的元素 list2 = [10, 'abc', 12.5, True]
print(list2)
a = 100
list3 = [10+2, a % 4, a ** 0.5]
print(list3)
list4 = [a + 2, a == 20]
print(list4)
list5 = [10, 'abc', a * 2, [a, 10]]
print(list5)
ages = [10, 18, 24, 35, 88]
person = ['小明', 18, '男', '15866668888']
二. 获取元素
1. 获取单个元素
-
语法: 列表[下标] - 获取列表中指定下标对应的元素
-
说明: a. 列表 - 可以是保存列表的变量,也可以是具体一个列表数据 b. [] - 固定写法 c. 下标 - 下标又叫索引,它是元素在列表中的位置信息。 Python中有序序列中元素的下标有两种: a. 元素从左往右从0开始依次增加的下标值 ? b. 元素从右往左从-1开始依次减小的下标值 heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[3], heroes[-4])
print(heroes[-1])
print(heroes[1], heroes[-6])
2. 获取多个元素 - 列表切片
-
切片的完整语法: 列表[开始下标:结束下标:步长]
从开始下标开始取,取到结束下标前为止,每次下标增加指定步长。 注意: a. 如果从开始到结束的方向和步长对应的方向不一致,那么切片的结果是[]。(步长为正表示从前往后,步长为负表示从后往前) b. 在不为[]的时候,开始下标对应的值能取到,结束下标对应的值取不到:[开始下标,结束下标) heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[1:4:1])
print(heroes[1:4:-1])
print(heroes[-1:1:2])
print(heroes[-1:1:-2])
print(heroes[0:3:1])
print(heroes[-1:4:2])
print(heroes[-5:5:1])
print(heroes[1:-2:2])
print(heroes[-2:2:-1])
heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[0:4:3])
print(heroes[-1:1:-2])
print(heroes[2:-1:1])
-
切片语法的省略操作 a. 省略步长 - 步长默认为1 列表[开始下标:结束下标] == 列表[开始下标:结束下标:1]
b. 省略开始下标 - 如果步长为正表示从第0个元素开始往后取;如果步长为负表示从最后一个开始往前取。 列表[:结束下标:步长]
列表[:结束下标]
c. 省略结束下标 - 如果步长为正从开始下标开始取到最后一个元素为止;如果步长为负从开始下标开始取到最前面一个元素为止。 列表[开始下标::步长]
列表[开始下标:]
3. 遍历列表
-
方法一:直接获取元素 for 变量 in 列表:
循环体
count = 0
scores = [100, 90, 83, 92, 56, 78, 99, 66, 67, 95, 78]
for x in scores:
if x > 90:
count += 1
print('90分以上的人数:', count)
-
方法二:通过下标获取元素 for 变量 in range(len(列表)):
列表[变量]
补充:len(列表) - 获取指定列表中元素的个数
scores = [100, 90, 83, 92, 56, 78, 99, 66, 67, 95, 78]
for index in range(len(scores)):
print(index, scores[index])
for x in range(-1, -len(scores)-1, -1):
print(x, scores[x])
三. 列表的增删改操作
1. 增:添加元素
-
列表.append(元素) - 在列表的最后添加指定元素 -
列表.insert(下标,元素) - 在指定下标对应的元素前插入指定元素 films = ['绿皮书', '遗愿清单', '你的名字', '复仇者联盟']
print(films)
films.append('肖申克的救赎')
print(films)
films.append('小丑')
print(films)
films.insert(2, '触不可及')
print(films)
2. 删:删除元素
-
del 列表[下标] - 删除列表中指定下标对应的元素 films = ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎', '小丑']
del films[2]
print(films)
-
列表.remove(元素) - 删除列表中指定元素 a. 如果元素不存在会报错 b. 如果元素有多个,只删除最前面的那个 films = ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎', '小丑']
films.remove('小丑')
print(films)
-
列表.pop() - 取出列表中最后一个元素 列表.pop(下标) - 取出列表中指定下标对应的元素 films = ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎', '小丑']
films.pop()
print(films)
films.pop(2)
print(films)
3. 改
-
列表[下标] = 值 - 将列表中指定下标对应的元素修改成指定的值 films = ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎', '小丑']
films[0] = '葫芦娃'
print(films)
|