1.什么是列表(list)
列表是Python提供的容器型数据类型
可变-列表中的每个元素的值可变,列表的长度可变,列表中元素的顺序可变
有序-每个元素可以通过下标来确定位置
2.列表的字面量:通过[]括起来,里面有多个元素,每个元素用逗号隔开
[]---空列表
**注意:列表里面的数据可以是任何Python支持的数据类型;并且同一个列表中不同元素的类型可以不一样
list1=[1,2.3,'abc',True,[1,2,3],{'a':10},lambda x:2*x]
2.获取列表元素(和字符串获取字符的语法一样)
a.获取单个元素
列表[下标]-获取列表中指定下标对应的元素
b.获取部分元素(切片) --结果是列表
列表[开始下标:结束下标:步长]
注意:取不到结果的时候,结果是空列表
c.遍历
1.可以使用for循环,直接遍历列表,拿到列表每个元素;(操作元素的时候和下标无关)
for item in moves:
print(item)
2.通过遍历列表元素对应的下标来遍历列表元素(操作元素的时候和下标有关)
for index in range(len(moves)):
print('下标',index)
print(moves[index])
moves =['毒液','功夫熊猫','肖申克的救赎','这个杀手不太冷','拯救大兵瑞恩']
练习:统计一个班的学生成绩,存在一个列表中。求整个班的平均成绩
grade=[]
sum=0
while True:
ingrade = input('请输入学生成绩,end结束:')
if ingrade=='end':
break
else:
grade.append(ingrade)
for i in range(len(grade)):
sum=sum+int(grade[i])
print(sum/len(grade))
3.增(添加列表元素)
a.append()
列表.append(元素) --在指定的列表的最后添加指定的元素
b.insert
列表.insert(下标,元素)-在指定的下标前插入指定的元素
4.删(删除元素)
a.del
del 列表[下标] -删除列表中指定下标对应的元素
注意:del是Python的关键字,可以用它删除任何东西,这的下标不能越界
b.remove
列表.remove(元素 -删除列表中第一个指定元素)
注意:被删除的元素在列表中必须是存在的
c.pop
列表.pop() -将列表中最后一个元素从列表中取出
列表.pop(下标) -将列表中指定标对应的元素从列表中取出
坑一:遍历列表删除部分元素,删不全! ---遍历的时候对原列表切片
age=[]
age2=[]
sum=0
while True:
inage = input('请输入学生成绩,end结束:')
if inage=='end':
break
else:
age.append(int(inage))
for i in age[:]:
if i<18:
age.remove(i)
print(age)
坑二、通过下标遍历列表,删除元素的时候,下标越界和元素获取不全
————解决办法:下标对应的元素需要删除,下标值不动;不会删除下标加1
age=[]
age2=[]
sum=0
while True:
inage = input('请输入学生成绩,end结束:')
if inage=='end':
break
else:
age.append(int(inage))
index=0
while index <len(age):
age3=age[index]
if age3<18:
del_item=age.pop(index)
age2.append(del_item)
else:
index+=1
print(age,age2)
5.修改(修改元素的值)
列表[下标]=新值 ---修改列表中指定下标对应的值
练习:有一个列表中保存的是学生成绩,要求将列表中成绩小于60的改成下一个班见,并统计个数
scores=[90,78,50,77,23,82,45]
count=0
for index1 in range(0,len(scores)):
if scores[index1]<60:
scores[index1]='下个班见'
count+=1
print(count,scores)
6.list相关运算
1.相关运算:
a.数学运算+,*
列表1+列表2 -将两个列表中的元素合并在一起产生一个新的列表
列表*N -列表中的元素重复N次,产生一个新的列表
b.支持比较运算
比较大小的原理和字符串类似
2.in/not in
元素 in 列表 --判断列表中是否存在指定的元素
注意:必须是元素
3.len
len(列表) -获取列表中元素的个数
4,list
list(数据) -将其他数据类型转换成列表;只有序列才可以转换成列表,并且所有的序列都能转换为列表
转换的时候就是将序列中所有的元素转换成列表的元素
注意:不能用Python给我们提供的类型的名字来命名,否则会有隐患
5.序列其他方法
max(序列) -获取序列中值最大的元素
min(序列) -获取序列中值最小的元素
sum(序列)-求序列中所有元素的和
注意:以上三个方法,要求序列中的元素类型必须一致,并且这个类型支持比较运算和加法运算
网友评论