# 1.什么是列表(list)"""
列表是容器型数据类型,将[]作为容器的标志,里面多个元素用逗号隔开
例如:[元素1,元素2,元素3,...]
元素:列表中的元素可以是任何类型的数据;同一个列表中的元素的类型可以不同
作为容器的特点:可变的(指的是元素的个数、元素的值和元素的顺序可变);
有序的(元素有表示序列的编号)
"""
a =[]# a 是一个空列表
b =[100,200,True,'abc']
c =[100,200,['abc',123]]
d =[100,12,5,'abc',[1,2],(10,20),{'name':'yu','age':18},{1,5},lambda x: x**2]print(type(d))# <class 'list'>
获取列表元素
# 1.获取单个元素"""
语法:列表[下标] - 获取指定下标对应的元素
说明:列表 - 任何结果是列表的表达式(具体的列表数据、保存列表数据的变量)
[] - 固定写法
下标 - 又叫索引;它是元素在容器中的位置标志(元素在容器中的顺序值)
下标值得范围有两种:
1) 从0开始不断加1的下标值,其中0表示第一个、1表示第二个...
2) 从-1开始不断减1的下标值,其中-1表示倒数第一个、-2表示倒数第二个、...
"""
list1 =[10,20,30,'abc']print(list1[1], list1[-3])print(list1[-1], list1[3])# 2.获取部分元素(列表切片) - 同时获取列表中的多个元素"""
1) 语法:列表[开始下标:结束下标:步长]
2) 规则:
a.如果步长为正,开始下标到结束下标 - 从前往后,开始下标对应的元素能取到,结束下标对应的元素取不到
b.如果步长为负,开始下标到结束下标 - 从后往前,开始下标对应的元素能取到,结束下标对应的元素取不到
"""
movies =['阿甘正传','肖申克的救赎','当幸福来敲门','霸王别姬','花样年华','人在囧途']print(movies[1:5:1])# ['肖申克的救赎', '当幸福来敲门', '霸王别姬', '花样年华']print(movies[1:-1:1])# ['肖申克的救赎', '当幸福来敲门', '霸王别姬', '花样年华']print(movies[5:1:1])# []print(movies[5:1:-1])# ['人在囧途', '花样年华', '霸王别姬', '当幸福来敲门']print(movies[5:1:-2])# ['人在囧途', '霸王别姬']# 1)省略步长:列表[开始下标:结束下标]# 省略步长相当于步长为1:列表[开始下标:结束下标] == 列表[开始下标:结束下标:1]
names =['海贼王','火影','死神','妖精的尾巴','柯南','犬夜叉','进击的巨人','一人之下']print(names[1:-2])# 2)省略开始下标:列表[:结束下标:步长]/列表[:结束下标]"""
如果步长为正,省略开始下标表示从第一个元素开始往后取,取到结束下标对应的位置
如果步长为负,省略开始下标表示从最后一个元素开始往前取
"""print(names[:-2])# ['海贼王', '火影', '死神', '妖精的尾巴', '柯南', '犬夜叉']print(names[:5:2])# ['海贼王', '死神', '柯南']print(names[:-3:-1])# ['一人之下', '进击的巨人']# 3)省略结束下标:列表[开始下标::步长]/列表[开始下标:]"""
如果步长为正,省略结束下标表示从开始下标取到最后一个元素
如果步长为负,省略结束下标表示从开始下标取到第一个元素
"""print(names[2:])# ['死神', '妖精的尾巴', '柯南', '犬夜叉', '进击的巨人', '一人之下']print(names[-3::-1])# ['犬夜叉', '柯南', '妖精的尾巴', '死神', '火影', '海贼王']print(names[4::2])# ['柯南', '进击的巨人']print(names[-2::-3])# ['进击的巨人', '妖精的尾巴', '海贼王']# 4)同时省略开始和结束下标:列表[::步长]/列表[:]# 开始和结束下标都省,那么整个选择范围就是原列表print(names[::-1])# ['一人之下', '进击的巨人', '犬夜叉', '柯南', '妖精的尾巴', '死神', '火影', '海贼王']print(names[::-2])# ['一人之下', '犬夜叉', '妖精的尾巴', '火影']print(names[:])# ['海贼王', '火影', '死神', '妖精的尾巴', '柯南', '犬夜叉', '进击的巨人', '一人之下']# 3.遍历(一个一个的把所有元素取出来)"""
方法一:直接遍历出列表中的元素
for 元素 in 列表:
循环体
(变量取到的就是列表中的元素)
方法二:通过遍历获取所有元素的下标来遍历元素
for 下标 in range(列表长度):
列表[下标]
方法三:
for 下标, 元素 in enumerate(列表):
循环体
"""
games =['斗地主','欢乐麻将','开心消消乐','三国杀','王者荣耀','英雄联盟']for item in games:print('item:',item)# len(列表):获取列表中元素的个数for index inrange(len(games)):print('元素:', games[index])for index, item inenumerate(games):print('index:', index,'item:', item)# 练习:用一个列表保存一个班是个学生的成绩# 计算10个学生的总成绩# 计算10个学生的平均成绩# 统计不及格学生的人数# 获取10个学生中最高成绩的值
score =[68,45,78,63,23,80,96,76,83,56]sum=0for x in score:sum+= x
print('总和:',sum)print('平均:',sum/10)
n =0for x in score:if x <60:
n +=1print('不及格的人数:', n)
m = score[0]for x in score:if x > m:
m = x
print('最高分:', m)