day6 列表

TL494充电器原理与维修 (转) TL494充电器原理与维修 电动自行车充电器多采用开关 电源,型号虽多,但电路结构大同小异,主要区别在于所选的脉宽调制(PWM)芯片不同如(UC3845、UC3842、SG3524、TL494)。现以佳腾牌 充电器为例,介绍其原理和故障检修方法。 一、电路原理 根据实物测绘的佳腾牌充电器电路原理如图1所示。整机可分为PWM产生和推动电路、功 率开关变换电路、... 阅读详情

列表

01 认识列表

什么是列表( list )
  • 长什么样

    • 列表是容器型数据类型(一个列表可以同时保存多个数据);

    • 将 [] 作为容器的标志,里面多个元素用逗号隔开:[元素1,元素2,元素3…]

  • 特点

    • 列表是可变的 (指的是列表中元素的个数、元素的值和元素的顺序可变);

    • 列表是有序的 (每个元素都有位置对应的索引值)

      [10,20,,30] -> [10,20,30,40]

      [10,20,,30] -> [10,20]

      [10,20,,30] -> [100,20,30]

      [10,20,,30] -> [30,20,10]

  • 元素的要求

    任何类型的数据都可以作为列表的元素;同一个列表可以保存不同类型的数据。

    1. 空列表

      list = []
      print(list)
      
    2. 列表中元素类型可以一样也可以不一样

      list1 = [10,34,56,543]
      print(list1)
      list2 = [213,'abc',True,None]
      print(list2)
      list3 = [10,[1,10],20]
      print(list3)
      

02 列表查的基本操作

查 ---- 获取列表元素
  • 查单个 - 获取一个元素

    • 语法:

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

    • 说明:

      列表 - 任何结果是列表的表达式,一般用保存列表的变量

      [] - 固定写法

      下标 - 下标又叫索引,它是有序序列中元素在序列中的位置信息。列表中的每一个元素都有两个下标值,一个是从零开始增加的下标值(0表示第一个元素,1表示第二个元素,…);一个是从-1开始依次减少的下标值( -1 表示倒数第一个元素,-2 表示倒数第二个元素,…)

      num = [10,78,19,7]
      print(num[0],num[-4])
      

      注意:下标不能越界,下标有效范围:0-长度-1 和 -1 ~ -长度 。

      len(列表) - 获取列表中元素的个数(获取列表长度)

  • 切片 - 获取部分元素

    • 完整语法:

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

      说明:

      开始下标、结束下标 - 下标值;用来确定切片的有效范围:[开始下标,结束下标)

      步长 - 正整数和负整数;用正负号来决定获取的方向(正–从前往后取;负 – 从后向前取),用绝对值来决定获取时是否跳着取,跳几个。

      获取原理:

      1. 如果步长对应的方向和开始下标对应的元素带结束下标对应的元素的方向不一致,切片无效,结果是空列表。
      2. 如果切片有效,先确定有效范围 [开始下标,结束下标) ,然后在有效范围内根据步长的方向按照步长的绝对值获取元素,创建新的列表。
      x = [1,2,3,4,5,6,7,8,9]
      print(x[0:-1:3])     # [1, 4, 7]
      print(x[0:-1:-1])    # []
      print(x[-1:0:-2])    # [9, 7, 5, 3]
      
    • 问题:如果从前往后需要取到最后一个元素或者从后向前取想要取到第一个元素怎么做?

      • 方法一:结束下标越界
      • 方法二:省略结束下标
    • 省略语法

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

      • 省略步长:列表[开始下标:结束步长] - 省略步长,步长就是1。

        x = [1,2,3,4,5,6,7,8,9]
        print(x[1:5])
        
      • 省略开始下标:列表[:结束下标:步长] - 如果步长为正就从第一元素开始往后取;如果步长为负就从最后一个元素开始往前取。

        x = [1,2,3,4,5,6,7,8,9]
        print(x[:-2:1])
        x = [1,2,3,4,5,6,7,8,9]
        print(x[:0:-1])
        
      • 省略结束下标:列表[开始下标::步长] - 如果步长为正取到最后一个元素为止;如果步长为负取到第一个元素为止。

        x = [1,2,3,4,5,6,7,8,9]
        print(x[1::2])
        x = [1,2,3,4,5,6,7,8,9]
        print(x[-1::-2])
        x = [1,2,3,4,5,6,7,8,9]
        print(x[2:])
        x = [1,2,3,4,5,6,7,8,9]
        print(x[::-1])
        x = [1,2,3,4,5,6,7,8,9]
        print(x[:])
        
  • 遍历 - 一个一个的取,取完

    • 方法一:

      for 元素 in 列表: - (变量依次获取的是列表中的每个元素)

      num = [1,2,3,4,5,6,7,8,9]
      for x in num:
          print(x)
      
    • 方法二:

      for 下标 in range(len(列表)): - 先获取元素下标,再根据下标获取元素。(变量取到的是元素的下标)。

      num = [1,2,3,4,5,6,7,8,9]
      for x in range(len(num)):
          print(num[x])
      
    • 方法三:

      for 下标,元素 in enumerate(列表): - 同时获取列表元素和下标

      nums = [34, 56, 78, 9, 23]
      for index,item in enumerate(nums):
          print(index, item)
      

03 列表增删改操作

  • 增 - 添加元素

    1. 列表.append(元素) - 在指定列表的最后添加指定元素

      nums = [20,30]
      nums.append(100)
      print(nums)          # [20, 30, 100]
      
    2. 列表.insert(下标,元素) - 在指定下标对应前插入指定元素

      num = [20,30,50]
      num.insert(-1,40)
      print(num)           # [20, 30, 40, 50]
      
      nums = [11,44,34,54,67,77,97,45]
      result = []
      for x in nums:
          if x % 2 == 0:
              result.append(x)
      print(result)
      
  • 删 - 删除列表元素

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

      nums = [11,44,34,54,67,77,97,45]
      del nums[-1]
      print(nums)          # [11, 44, 34, 54, 67, 77, 97]
      
    2. 列表.remove(元素) - 直接删除列表中的指定元素(元素不存在,报错;如果元素有多个相同的元素,只删除最前面的一个)

      nums = [11,44,34,54,67,77,97,45]
      nums.remove(45)
      print(nums)          # [11, 44, 34, 54, 67, 77, 97]
      
    3. 列表.pop() - 取出列表中最后一个元素

      nums = [11,44,34,54,67,77,97,45]
      nums.pop()
      print(nums)          # [11, 44, 34, 54, 67, 77, 97]
      

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

      nums = [11,44,34,54,67,77,97,45]
      nums.pop(2)
      print(nums)          # [11, 44, 54, 67, 77, 97, 45]
      

      pop 取出并返回,取出后只在当前列表取出,并不是彻底删除

      nums = [11,44,34,54,67,77,97,45]
      x = nums.pop(2)
      print(nums,x)    # [11, 44, 54, 67, 77, 97, 45] 34
      
  • 改 - 修改元素的值

    列表[下标] = 新元素

    nums = [11,44,34,54,67,77,97,45]
    nums[0] = 20
    print(nums)      # [20, 44, 34, 54, 67, 77, 97, 45]
    

1. 基础题

  1. 已知一个数字列表,打印列表中所有的奇数

    nums = [12,11,23,43,44,22]
    for x in nums:
        if x % 2:
            print(x)
    
  2. 已知一个数字列表,打印列表中所有能被能被3整除但是不能被2整除的数

    nums = [12,11,21,43,44,22]
    for x in nums:
        if x % 3 == 0 and x % 2:
            print(x)
    
  3. 已知一个数字列表,计算所有偶数的和

    nums = [12,11,21,43,44,22]
    result = 0
    for x in nums:
        if x % 2 == 0:
            result += x 
    print(result)
    
  4. 已知一个数字列表,统计列表中十位数是1的数的个数

    nums = [12,111,211,43,414,22]
    count = 0
    for x in nums:
        if x // 10 % 10 == 1:
            count += 1
    print(count)
    
  5. 已知一个列表,获取列表中下标为奇数是所有元素(从0开始的下标值)

    例如: list1 = [10, 20, 5, 34, 90, 8]

    结果:[20, 34, 8]

    list1 = [10, 20, 5, 34, 90, 8]
    print(list1[1::2])
    
  6. 已知一个数字列表,将列表中所有元素乘以2

    例如: nums = [10, 3, 6, 12] 乘2后: nums = [20, 6, 12, 24]

    方法一:
    new_nums = []
    nums = [10, 3, 6, 12]
    for x in nums:
     new_nums.append(x *2)
    print(new_nums)
    
    方法二:
     nums = [10, 3, 6, 12]
    for index,item in enumerate(nums):
     nums[index] = item * 2
    print(nums)
    
  7. 已知一个列表,获取列表的中心元素

    例如:nums = [10, 2, 6, 12] -> 中心元素为: 2和6

    ​ nums = [10, 2, 6, 12, 10] -> 中心元素为:6

    nums = [10, 2, 6, 12, 10]
    count = len(nums)
    if count % 2 == 1:
        print(nums[count//2])
    
    nums = [10, 2, 6, 12]
    count = len(nums)
    if count % 2 == 0:
        print(nums[count//2-1],nums[count//2])
    
  8. 已知一个列表,获取列表中所有的整型元素

    例如:list1 = [10, 1.23, ‘abc’, True, 100, ‘hello’, ‘20’, 5]

    ​ 结果是: [10, 100, 5]

    result = []
    for x in list1:
     if type (x) == int:
         result.append(x)
    print(result)
    

2. 进阶题

  1. 定义一个列表保存多个学生的分数,删除列表中所以低于60分的值

    例如: scores = [45, 60, 89, 30, 12, 59, 99, 80, 71, 66] 删除后: scores = [60, 89, 99, 80, 71, 66]

    result = [x for x in scores if x >= 60]
    print(result)
    
  2. 已知一个列表保存了多个学生的姓名,要求去掉列表中重复的名字

    例如:names = [‘小明’, ‘张三’, ‘李四’, ‘张三’, ‘张三’, ‘小明’, ‘王五’, ‘王五’]

    ​ 去重后:names = [‘小明’, ‘张三’, ‘李四’, ‘王五’]

    new_names = []
    for name in names:
        if name not in new_names:
            new_names.append(name)
    print(new_names) 
    
  3. 已知一个数字列表,获取列表中值最大的元素 (不能使用max函数)

    max1 = nums[0]
    for x in nums[1:]:
        if x > max1:
            max1 = x
    print(max1)
    
  4. 已知两个有序列表(列表中的元素已经按照从小到大的方式排好序),要求合并两个列表,合并后元素还是从小到大排序

    例如: list1 = [10, 23, 39, 41, 52, 55, 80] list2 = [9, 38, 55, 70]

    合并后的结果: [9, 10, 23, 38, 39, 41, 52, 55, 55, 70, 80]

    new_scores = sorted(list2 + list1)
    print(new_scores)
    
  5. 已知一个有序数字列表(从小到大),输入任意一个数字,将输入的数字插入列表中,要求插入后列表仍然保持从小到大排序的关系

    例如: list1 = [10, 23, 45, 67, 91] 输入: 50 -> list1 = [10, 23, 45, 50, 67, 91]

    value = int(input('请输入一个整数:'))
    for index, item in enumerate(list1):
        if item > value:
            list1.insert(index, value)
            break
    else:
        list1.append(value)
    
    print(list1)
    
可控异常的契约化设计:在 ABAP 中用 CX_STATIC_CHECK 把可预期错误变成接口的一部分 文章摘要: 本文探讨了ABAP系统中异常处理的工程化设计原则,强调将可预期的业务异常作为接口契约的一部分。核心观点是:对于调用方能够合理处理的错误情况,应使用继承自CX_STATIC_CHECK的受检异常,通过方法签名强制调用方处理或显式转发。文章对比了ABAP三大异常根类的适用场景,提出"三问法"判断异常是否适合受检处理,并给出了包含上下文信息的异常类实现示例。通过Fiori文件上传案例,展示了如何在分层架构中合理传递和转换异常,最终在OData服务层将业务异常映射为标准错误响应。这种 阅读详情

相关推荐

十、Teigha.Net示例的源代码下载链接,以及英文的chm说明文件和相关案例

目录官方案例demo下载Teigha.net 英文版手册下载Teigha.net Entity实体中文翻译Teigha4.0 解决闪烁问题demo下载Teigha4.0 收录demo案例类似CAD看图王软件无AutoCAD环境下操作显示CAD文件的功能源码,整个示例模块源码 官方案例demo下载 在之前找到的官方案例3_03版本中包含32位与64位dll 其中的chm的说明文件内容也不完全,后面有更为详细的英文版的chm; 示例项目中,主要包括一个winfrom程序与控制台程序,OdWriteExMgd

... 3491

4: Python基础-列表练习

1.求列表的中心元素 my_list = ['a','b','c','d',6] if len(my_list) & 1 == 1: mid_index = len(my_list)//2 print('列表的中心元素:', my_list[mid_index]) else: print('列表偶数个元素,没有中心元素') 结果: 列表的中心元...

weixin_37621529的博客 2085

科研绘图系列:R语言绘制世界地图数据分布(world map)

科研绘图系列:R语言绘制世界地图数据分布(world map)

专注生信领域 493

day6 - 日志和作业

day6 容器:list(列表) 方法: sum(): len(): max(): 求列表和 求列表项数 求列表最大项 enumerate(): append(元素) .insert(下标,元素) 列举 增 增 del 列表 [下标] 列表.remove(元数) pop 删 删 取出 列表[下标]=新元素 改 什么是列表(list) 非容器 - 一个变量只能保存一个数据(只有一个格子的

weixin_64904030的博客 479

【练习题】python列表

代码作业

早八人的上课笔记收录哈哈哈 5257

python列表中选取指定元素两者中间的元素

列表中选取指定元素两者中间的元素可以使用列表切片的方式来实现。 举个例子,假设你有一个列表 a = [1, 2, 3, 4, 5, 6],你想选取元素3和元素5之间的元素,那么可以这样写: selected_elements = a[2:5] print(selected_elements) # 输出[3, 4, 5] ...

weixin_42591908的博客 571

Python基础小练习_列表2

【代码】Python基础小练习_列表1。

K1ri0的博客 333

6个月Python学习计划 Day 4 - 列表 & 元组基础

本文介绍了Python中两种有序集合类型:列表(List)和元组(Tuple)。列表使用[]创建,是可变的,支持增删改查操作,常用方法包括append()、insert()、remove()等。元组使用()创建,是不可变的,适合存储固定数据。文章对比了两者的特性:列表灵活可变但性能较低,元组不可变但更安全高效。通过5个实践任务演示了基础操作:创建访问、元素修改、排序、解包和切片。最后总结了两者的核心区别和使用场景,列表适合动态数据,元组适合固定配置数据。

FAN的博客 1310

Day6Day7列表

需求:定义变量保存8个学生的成绩。

lanlanlannan的博客 109

day 6 列表

day6 - 列表知识点总结 1、容器与非容器 ​ 1)容器 - 一个变量可以同时保存多个数据(有多个格子的盒子) ​ 2)非容器 - 一个变量只能保存一个数据(只有一个格子的盒子) 2、什么是列表 - list(类型名) ​ 1)列表长什么样 ​ a.列表是容器型数据类型(一个列表可以同时保存多个数据) ​ b.将[]作为容器的标志,里面多个元素(容器里面每一个独立的数据就叫做元素)用逗号隔开 ​ c.[元素1,元素2,元素3,…] ​ 2)列表的特点 ​ a.列表是可变的(可变指的是列表中元素的

Chebyshev_的博客 216

Day6列表

总结

o9887568546的博客 78

day-6列表

day-6列表 1、认识列表 1、什么是列表 1) 列表是容器型数据类型(一个容器可以保存多个数据) 将中括号([])作为容器的标志,里面多个元素用逗号隔开:[元素1,元素2,元素3,…] 非容器 - 一个变量只可以保存一个数据 容器 - 一个变量可以保存多个数据 2) 列表是可变的(指的是列表中元素的个数、元素的值和元素的顺序可变);列表是有序的(每个元素都有位置对应的索引值) 3)元素的要求 - 没有要求 任何类型的数据,都可以作为列表的元素。而且同一个列表可以保存不同类型的数据。 2、列表

m0_67036342的博客 340

day 6-列表

1)列表时容器型数据类型(序列),将[]作为容器的标志,里面多个数据用逗号隔开:[数据1,数据2,…]2)列表是可变的(可变指的是列表中元素的个数和元素的值可变 - 列表中的元素支持增删改)列表是有序的(元素有顺序对应的位置信息,元素顺序影响结果 - 列表支持索引操作)3)列表对元素的要求:没有要求,任何类型的数据都可以作为列表的元素。注:元素 - 容器中每一个独立的数据,就是这个容器的元素1)空列表list = [ ]字符串中加空格是字符串中的一个元素,列表中有空格也是空列表

m0_70367168的博客 169

Day-6列表

Day-6列表 1、认识列表(list) scores = [98 , 34 , 89 , 99 , 56 , 100 , 91 , 70] print(‘平均分:’ , sum(scores) / len(scores)) print(‘最高分’ , max(scores)) 01列表python中的容器型数据类型; 将[ ]作为容器的标志,里面多个数据用逗号个隔开:[数据1,数据2,数据3,…];列表是可变的(元素的个数、元素的值和顺序 都可以改变 - 支持增、删、改);列表是有序的(支持下标操作

HunterQAQ的博客 133

11.20列表相关作业

11.20列表相关作业

MENGANNA001的博客 573

这个星期在学C++

用的是http://www.d2school.com/第二学堂的教材。 贴一小段代码,用来帮助自己记忆所学。 #include #include #include #include using namespace std;struct person{ public: void setname(string const sname) {

dongnanyanhai的专栏 769

AI专业python基础(3)

知识点回顾 * Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 —— 非零即真 假 False 0 复数型 (complex) 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题 非数字型 字符串 列表 元组 字典 在 Python 中,所有 非数字型变量 都支持以下特点: 1.都是一个...

weixin_43706585的博客 180

Python基础数据操作之列表操作练习题

⑥ 输出[1,2,3,1,2,3,1,2,3,1,2,3]③ 用2种方法输出[1,2,3,…⑤ 用2种方法输出[10,9,…① 用2种方法输出a中所有奇数。请学习上述知识内容,完成如下任务。② 输出大于3,小于7的偶数。④ 输出a的最大值、最小值。

qq_53810226的博客 1157

python列表的基本操作编程,关于python列表的题

这篇文章主要介绍了python列表的基本操作编程,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

wangyanqin0227的博客 433

Python 入门学习 详细知识点+典型例题(一)

rfind(sub[,start[,end]])查下标,右到左。find(sub[,start[,end]])查下标,左到右。值为0的数字类型0,0.0,0j,decimal(0),fraction(0,1)foriinrange(5,10,2)从5到9,跨度为2。空的序列和集合”,(),[],{},set,range(0)

的博客 5067

ZYGO干涉仪使用说明.doc

ZYGO干涉仪使用说明.doc

robotstudio6.08创建自己的三张纸画图工作站。要求绘制图案应包含直线和曲线,能通过示教器指定纸张,指定绘图参数。

系统仿真能正常运行(50%);图案难易度(25%);示教器能选择纸张(10%);示教器能指定绘图参数(10%),系统能连续选择纸张和指定参数,直至在示教器上选择“停止“,系统才停止运行(5%)。

上一篇: day5 while循环和循环关键字
下一篇: day7 列表和元组
XInZgg01
博客等级 码龄5年 1粉丝 21原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值