重制版 day 06 列表

重制版 day 06 列表

列表是容器型数据类型,将[]作为容器的标志,里面多个元素用逗号隔开[元素1,元素2]

特点:列表是可变的,有序的

​ 可变指的是容器的元素的个数和值,可变-支持增删查改

​ 有序的指的是支持下标操作

元素的要求:没有要求,支持任意类型数据作为列表的元素,同一个列表中的元素可以不一样

# 列表中的元素可以是任何类型的数据
list2=[1,2.3,'sd',False,[1,2]]

# 列表是有序的
print([10,20,30]==[10,30,20])  # 列表是有序的 False
print({10, 20, 30}== {10, 30, 20})  # 集合是无序的 True

列表的查操作

下标

语法:

列表[下标]-获取指定列表中的指定下标对应元素

说明:

列表-需要获取元素的列表,可以是任何结果是列表的表达式,比如:保存列表的变量,具体的列表数据

[] - 固定写法

下标 - 索引,是列表中元素在列表中的位置信息

​ 每一个元素都有2个索引值,一个从前到后取值,从0开始;一个从后到前取值,从-1开始.

下标不能越界,超出有效范围

切片

语法:
列表[开始下标:结束下标:步长] -根据下标和步长,获取指定列表中的部分元素

1)怎么确定切片结果
第一步:确定结果是否为空列表(看从开始下标到结束下标的方向,和步长方向是否一致),如果方向一致结果不一定为空.反之为空
步长为正:从前往后取
步长为负:从后往前取
第二步:确定有效范围 -开始下标对应的元素取得到,结束下标对应的元素取不到
第三步:在有效范围内,按照步长的绝对值获取内容;
如果绝对值为1,在等效范围内一个一个按顺序获取
如果绝对值为2,在等效范围内间隔2取一个
如果绝对值为3,在等效范围内间隔3取一个

2)怎么写切片
第一步:确定开始下标(目标对应的第一个元素的下标)
第二步:确定步长
确定正负号:看目标取值的方向,正向取正,负向取负
确定绝对值
第三步:确定结束下标

切片的省略写法:
列表[开始下标:结束下标:步长]
a.省略步长 -相当于步长为1
列表[开始下标:结束下标]
b.省略开始下标 - 表示从头开始,开始下标在第一个或者在最后一个,由步长的正负决定
列表[:结束下标:步长],列表[:结束下标]
c.省略结束下标 - 一直取到最后一个元素
列表[开始下标::步长]

遍历

遍历-一个一个的获取列表中的所有元素

len(列表)–获取列表中元素的个数

方法1:

for 变量 in 列表:

​ 循环体

方法2:

通过遍历下标来遍历列表

for i in range(len(列表)):

​ 获取到的是下标,通过下标进行后续操作,通过列表[下标]获取元素

方法3:同时获取下标和元素

for 变量1,变量2 in enumerate(列表):

​ 变量1是下标,变量2是元素

# 练习1:计算nums中所有元素的和
nums = [12, 45, 8.34, 56, 23]
sum = 0
for i in nums:
    sum+=i
print(sum)
# 运行结果 144.34

# 练习2:统计nums中所有偶数的个数
nums = [23, 88, 90, 88, 67, 55, 11]
count=0
for i in nums:
    if i%2==0:
        count+=1
print(count)
# 运行结果 3

# 练习3: 统计list1中字符串的个数
list1 = [109, 23.4, True, 'abc', 'helo', 23, '12', False, None]
count=0
for i in list1:
    if type(i)==str:
        count+=1
print(count)
# 运行结果 3

列表的增删改

增加 -添加元素

列表.append(元素)–在列表的最后添加元素

列表.insert(下标,数据)–在列表中指定位置插入指定元素

删除-删除元素

del 列表[下标]—删除列表中的指定下标的元素

列表.remove(元素)-删除列表中指定元素,如果元素不存在列表之中,报错;如果有多个需要删除的元素,只删除第一个

列表.pop() -取出列表最后一个元素

列表.pop(下标)-取出列表中指定下标对应的元素

改-修改元素

列表[下标]= 新元素 -将指定下标元素修改为新元素

# 案例:将scores中所有不及格的分数全部修改成"重修"
scores = [89, 23, 79, 99, 45, 60, 78, 59]
# [89, '重修', 79, 99, '重修', 60, 78, '重修']
for index, item in enumerate(scores):
    if item < 60:
        scores[index] = '重修'
print(scores)

列表的相关操作

1.数学运算符 :+,*

列表1+列表二 -将两个列表中的元素依次合并成一个新的列表

列表n / n列表 --重复n次列表中的元素

2.in操作

元素 in 列表 -判断列表是否存在指定元素

元素 not in 列表 -判断列表是否不存在指定元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值