day05-列表

day05-列表

认识列表

  • 什么是列表?(list)
"""
1)列表是容器型数据类型(可以同时保存多个数据);
2)将[]作为容器标志,里面多个元素(一个容器中每隔独立的数据就是元素)用逗号隔开:[元素1, 元素2, 元素3,...]
3)可变(可变☞元素的个数, 元素值, 元素顺序可变) - 支持增删改
  有序 - 支持下标操作
  
4)元素:任何类型数据都可以作为列表的元素
"""
  • 空列表 - [], [(空格)]

  • 元素类型

可以相同

可以不同

可以是容器型数据

  • 列表有序

  • 集合无序

获取元素

  1. 索引 - 获取单个元素(下标越界报错)

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

"""
1) 列表 - 具体列表 / 保存列表的变量
2) [] - 固定写法
3) 下标 - (整数)索引, 元素在有序序列中的位置信息
        python中元素对应的下标有两种:
        	从前往后,从0开始不断增加;  
            从后往前,从-1开始不断减小.
"""

报错, 下标越界

  1. 切片 - 获取部分元素(下标越界不报错)
  • 完整语法

列表[开始下标:结束下标:步长]

切片过程

"""
第一步: 结果是否为空 - 步长方向与开始下标到结束下标方向是否一致,不一致结果为空
第二步: 有效范围:[开始下标, 结束下标) - 半闭半开
第三步: 获取元素: 步长的正负确定获取方向, 绝对值确定获取方式(获取间隔),
        如果绝对值为1,表示挨着取; 绝对值为2,表示间隔1个;绝对值为3,表示间隔为2(跳2个)
"""

切片获取想要的结果

"""
第一步: 开始下标: 结果中第一个元素在原列表中的下标
第二步: 确定步长: 获取元素的方向确定正负; 取值的时候跳过的情况确定绝对值
第三步: 结束下标: [开始下标, 结束下标) - 结束下标+1或者-1
		对应的范围能够包含所有的已经获取到的元素
"""		
  • 省略写法
"""
列表[开始下标:结束下标:步长]
1.省略步长:列表[开始下标:结束下标]    -   省略步长时,步长为1

2.省略开始下标: 列表[:结束下标:步长], 列表[:结束下标]
    如果步长为+,从第一个元素开始往后取; 如果步长为-,从最后一个开始往前取
    
3.省略结束下标:列表[开始下标::步长], 列表[开始下标:], [:], [::步长]
    如果步长为正,从开始下标往后取到最后一个元素; 如果步长为负,从开始下标往前取到第一个元素
"""
  • 遍历列表 - 将列表中的元素逐个取,直到取完
"""
方法1 -   直接获取元素
for 变量 in 列表:
    循环体(变量依次取到的就是列表中的元素)
    
方法2 -   通过遍历下标来遍历元素
for 下标 in range(len(列表):
    循环体(变量依次取到列表中元素下标, 列表[下标]获取元素)
    
方法3 -   同时获取下标和元素
for 变量1, 变量2 in enumerate(列表):
    循环体(变量1依次获取到元素下标, 变量2依次获取到元素, 两者相互关联)
"""

练习1:求nums中所有元素的和

nums = [28, 73, 55, 60, 98, 21]
sum1 = 0
for i in nums:
    sum1 += i
print(sum1)
print(sum(nums))

练习2:统计nums中奇数的个数

nums = [28, 73, 55, 60, 98, 21]
count = 0
for i in nums:
    if i % 2:
        count += 1
print(count)

增删改

1)列表.append(元素) - 在列表最后添加指定元素
2)列表.insert(下标, 元素) - 在列表中指定下标对应的元素前插入指定元素(下标可以越界, 比append多此一举)

del 列表[下标] - 删除列表中指定下标对应的元素

列表.remove(元素) - 删除列表中指定元素

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

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

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

  • in 和 not in

元素 in 列表 - 判断列表中是否存在指定元素,如果存在就返回True, 否则返回False

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值