06总结 - 列表

列表

1.列表

  1. 容器型数据类型(序列)
变量是否是容器分为:非容器数据型类型的变量,和容器数据类型的变量
非容器数据类型的变量  -  一个盒子里面只有一个格子,只能保存一个数据
容器型数据类型的变量  -  一个盒子里面有多个格子,每个格子可以存储不一样的数据,所以同个时间可以存储多个数据
列如:listdicttuplesetstr
stu = [23,45,73,75,85,24,86,98,79,69,57,96,97]
print(sum(stu))
print(max(stu))
print(len(stu))
print(min(stu))
2.什么是列表(list)
列表是容器型数据类型;将中括号[]作为标志,里面多个元素用逗号隔开:[1,2,3,4,5,6]
列表是可变的(可变的是指元素 的个数、之和顺序可变, - 支持增删改);列表有序(支持下标操作
列表对元素的要求:没有要求,任何类型的数据都可以作为元素。

元素   -   指的是容器中每个独立数据
# 空列表
list1 = []

# list2一个元素的列表
list2 = [23]

#多个元素
list3 = [23,43,54,23]

2.获取列表元素

1.获取单个元素
语法:
列表[下标]  -   获取指定元素

 说明:   -    任何的结果是列表的表达式,保存列表的变量或者具体的列表数据
 
 下标   -    下标(索引)是有序序列中元素的位置信息。python中有序序列中元素的下标有两种
            第一种:从前往后从0开始依次增加
            第二种:从后往前从-1开始依次减少
 
注意: 下标不能越界
1) 从开始下标到结束下标的方向如果和步长对应的方向(步长为正表示从前往后,步长为负表示从后往前)
2) 确定有效范围:开始下标对应的元素可以取到,结束下标对应的元素取不到
3) 确定切片结果:在有效范围内按步长绝对值取数据;

IndexError: list index out of range 索引错误:列表索引超出范围

list1 = [23,3434,543,5345,25,2543,54]
print(list1[0],list1[5],list1[-3],list1[-1])
2.切片 - 获取部分元素
语法1:完整语法
列表[开始下标:结束下标:步长]

# 语法2:省略步长
列表[开始下标:结束下标]


语法3:省略开始下标
列表[:结束下标:步长] 、列表[:结束下标]

语法4:省略结束下标
列表[开始下标::步长] 、 列表[开始下标:]
开始下标到结束下标的方向如果步长对应的方向不一致,取不到数据
list1 = [23,3434,543,5345,25,2543,54]
print(list1[5:-5:-1])
print(list1[1:5:1])
3.遍历 - 把元素一个一个取出来
方法1:直接获取元素

for 变量 in 列表:
    循环体
    
变量依次获取的就是列表中的每个元素

方法2:通过获取每个元素下标来获取元素

for 变量 in range(列表长度):
    循环体
    
变量以此获取的是元素中的下标

len(列表)  -  获取列表的长度
# 1)统计不及格学生人数
count = 0
scores = [90, 78, 54, 67, 88, 30, 59]
for i in scores:
    if i < 60:
        count += 1
print('不及格的人数为:',count)

# # 2)计算学生平均分
print(f'平均分数为:{sum(scores)/ len(scores)}')

# 练习2:已知列表nums,统计nums中整数的个数
nums = [90, 1.23, 'abc', 12, 0.12]
count2 = 0
for i in nums:
    if int == type(i):
        count2 += 1
print('整数的个数有:',count2)

3.增删改

1.增 - 添加元素
1).列表.append(元素)   -   将元素添加到最后
2).列表.insert(下标位置,元素)  -  将元素插入到指定下标前
# 练习:scores保存多个学生的分数,提取所有分数中不及格的分数
scores = [90, 78, 65, 45, 55, 89, 30, 99]
scores.insert(1,'dd')

print(scores)
2.删除 - 删除元素
1) del 列表[下标]   -   删除指定下标的元素

2) 列表.pop()   -    取出最后一个元素,并且返回
   列表.pop(下标)    -    没有下标删除最后一个,并返回

3)  列表.remove(元素)   -   删除指定元素
如果元素不存在会报错;如果元素有多个,只删除前面那一个
nums = [12, 23, 56, 78, 99, 99, 120]
del nums[2]
print(nums)

print(nums.pop())

nums.remove(99)
print(nums)

列表[下标] = 值 - 将列表中指定下标对应的元素改成指定的值

nums = [12, 23, 56, 78, 99, 99, 120]
nums[0] = 7
print(nums)


scores = [23,45,67,98,34,89]
for i in range(len(scores)):
    if scores[i] < 60:
        scores[i] = 0
print(scores)

4.in

#元素 in 列表   -   判断列表中是否存在指定元素
# 元素  not in 列表   -   判断列表中是否不存在指定元素
scores = [23,45,67,98,34,89,56]
x = len(scores)
while x < 0:
    for i in scores:
        if i < 60:
            scores.remove(i)
        x -= 1
print(scores)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值