python3之列表进阶

手把手教你自制Type-C OTG转换器(附电路图及避坑指南) 本文详细指导如何自制Type-C OTG转换器,包括核心电路设计、元器件选型及焊接技巧,特别强调硬件检测电路的关键作用。通过实测数据和避坑指南,帮助开发者解决兼容性问题,实现高效数据传输。 阅读详情

python基础回顾——列表进阶篇

前言

上一篇讲述列表的基础,而列表在实际使用中也是较常用的python数据结构,本篇进一步对列表的使用进行回顾学习。


遍历列表

根据前篇列表元素的访问是基于下标索引的使用,而当需要对多个元素进行操作时便需要借助循环语句进行列表遍历操作,通过for in : 以及缩进进行遍历操作执行。需要注意的地方是缩进的使用以及for循环的使用。

>>> L
['1', '2', '3', 4, 5, 6]
>>> for i in L:
...     print(i)
...
1
2
3
4
5
6
数值列表
  1. 引入range()方法
    range()方法可以按照指定的数字区间以及间隔等进行生成一系列数值内容,range(i,j,k)表示以数字i为起始,以数字j-1为终止,间隔为数字k,罗列[i,j)区间的满足要求的数字。

    
    >>> range(3,9,2)
    range(3, 9, 2)
    >>> for i in range(3,9,2):
    ...     print(i)
    ...
    3
    5
    7
  2. 使用range方法建立数值列表

    • 使用list()方法直接转化可由range方法直接生成数值的内容。

      >>> list(range(3,9,2))
      [3, 5, 7]
    • 根据range方法生成的数值内容进行计算得到的数值,通过列表添加的方式遍历写入进而生成列表。

      
          >>> L = []
          >>> L
          []
          >>> for i in range(1,10,2):
          ...     L.append(i**2)
          ...
          >>> L
          [1, 9, 25, 49, 81]
  3. 数值列表统计方法

    • 常见的统计方法有max、min和sum,分别求取列表中的最大值、最小值和求和。
    >>> L
    [1, 9, 25, 49, 81]
    >>> min(L)
    1
    >>> max(L)
    81
    >>> sum(L)
    165
列表解析

前面介绍的数值列表生成借助循环和列表插入进行生成,而python中存在使用一种表达式方式通过一行代码实现这样的列表生成,此处使用的是列表解析,之后还会提到lambda表达式等同样方式,将初始化、循环和列表操作等都融合在一起。

>>> LIST = [i**2 for i in range(1,10,2)]
>>> LIST
[1, 9, 25, 49, 81]
列表切片
  • 在使用列表时如果需要对列表元素进行部分或者分类操作,若是一个一个元素进行遍历操作也显得不够简洁,python列表的部分处理便可以使用切片方法,前述使用range方法时说到区间范围的使用格式,列表的切片也是一样的原理,通过list[i:j] 的格式获取列表list中索引下标为i到j-1的元素。如下所示取出列表中第三个元素至最后一个元素的部分列表内容。
>>> LIST
[1, 9, 25, 49, 81]
>>> LIST[2:]
[25, 49, 81]
  • 遍历切片
    循环遍历对象由完整列表替换为切片内容即部分列表,省去对多余对象的操作。
>>> for i in LIST[2:]:
...     print(i)
...
25
49
81
  • 列表复制
    当需要在已有列表的基础上建立新的列表,可以通过列表复制的方法简化列表初始化工作,即将已有列表通过切片方式赋值给新列表。
    注意 不能通过列表直接赋值的方式,如list2 = list1 这样进行复制列表,因为在底层内存对变量的辨别是通过地址进行的,上述方式无异于将同一地址使用两个变量表示,本质上是同一个列表,并不能实现复制内容而得到第二个新列表的结果。
>>> list1
[1, 9, 25, 49, 81]
>>> list2 = list1[2:4]
>>> list2
[25, 49]
元组

列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,而有时候也会需要内容不可修改的列表,即不可变列表,而python中即叫元组。

  • 初始化元组
    和列表初始化相似,但是使用() 进行表示,通过下标索引进行读取元组元素内容。
>>> tuple = ('temp',1,2,3)
>>> tuple
('temp', 1, 2, 3)
>>> tuple[2]
2
>>> tuple[2:]
(2, 3)
  • 元组操作
    元组元素内容是不能进行修改的,但是当元素本身是变量时,元素的值是可修改的即可以通过重新初始化的方式将元组内容进行改变,但是既定元组元素内容不可变。
>>> tuple
(0, 2, 3)
>>>
>>> tuple[0]=1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> tuple = (0,1,2)
>>> tuple
(0, 1, 2)
  • 可变的元组
    元组的元素内容不可变实际是指元组内元素地址不可变,即元素指向的可能是有数值、字符等具体内容的地址也可以是列表等存在可变内容的地址,只要地址块不变,元组便不变。
>>> tuple
(['a', 'b'], 'A', 'B', 1, 2, 3, [11, 22])
>>> tuple[0][1]='c'
>>> tuple
(['a', 'c'], 'A', 'B', 1, 2, 3, [11, 22])
>>> tuple[1]='C'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

借用廖雪峰老师的解释图,廖老师的图例中也是元组由列表和字符组成,并说明元组指向是列表本身,而列表中的元素地址不在元组指向范围。
这里写图片描述
这里写图片描述

——————

小结

列表的进一步认识包括遍历操作、切片操作、列表解析以及元组的引入,对这些内容的学习回顾将帮助在之后的项目分享中进行运用,共勉。


参考资料
廖雪峰的官方网站——list和tuple
python编程入门

深入解析STM32F40x CAN控制器的配置与优化 本文深入解析STM32F40x CAN控制器的配置与优化,涵盖基础工作模式、波特率计算、筛选器配置及中断管理等关键技术。通过实战案例和代码示例,帮助开发者高效配置CAN通信,提升工业控制系统的稳定性和性能。 阅读详情

相关推荐

JS+H5打字练习器

实现功能 1.导入.TXT文件到打字练习内容(部分浏览器可能出于安全问题限制了这一步操作) 2.输入文本到打字练习内(弹出输入框,将要练习的内容输入至输入框) 3. 开始练习,并根据正误在打字练习内容文本上修改颜色(某个字正确显示绿色,某个字错误,显示红色,某个字没有打显示灰色) 4.开始练习、结束练习,全部输入完成后自动结束练习,也可提前手动结束练习,结束练习后弹窗用显示时和正确率。(区别在于一个全部输入完成且全部正确,一个提前结束无其他条件) 效果图 分析 HTML 结构解析 根元素:<!DO

w11111xxxl的博客 1414

Python3 列表的基本操作

序列即列表的基础知识

qq_62973535的博客 1022

ollama服务暴露公网?三步搞定Nginx反向代理配置(避坑指南)

本文详细介绍了如何通过Nginx反向代理安全地将Ollama服务暴露到公网,避免直接修改OLLAMA_HOST带来的安全隐患。文章提供了从SSL证书部署到高级安全加固的全流程实战指南,包括IP白名单、基础认证、速率限制等企业级安全措施,帮助用户实现安全可靠的外部访问。

wood5的博客 178

python list的函数

1. list.append(obj) 在列表末尾添加新的对象 2. list.count(obj) 统计某个元素在列表中出现的次数 3. list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 4. list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 5. list.insert(index,ob...

dili8870的博客 814

開機自動進入UEFI Interactive Shell無法正常開機怎麼辦?

BIOS/UEFI,啟動後進入UEFI Interactive Shell大多數人都告訴你沒有安裝系統去裝系統吧,但你明明昨天還在運行系統?今天就這樣?有沒有解決辦法?

sheaahhoi1的博客 7745

使用fairseq从头开始训练一个中英神经机器翻译模型

前言 由于毕设是做神经机器翻译相关,所以先尝试一下神经机器翻译的整个流程是非常有必要的。故将在news-commentary-v15语料上训练有监督中英NMT模型的整个流程,包括工具和数据的准备、数据的预处理、训练及解码等过程,以及过程中遇到的问题和解决方案记录在此,以供后期回顾,也希望能够给予别人一些帮助。附本人博客 1 相关工具及目录结构 1.1 相关工具 除jieba是使用pip install安装外,其他几个工具都是建议直接克隆库到自己的用户目录中,方便使用其脚本(moses/subword-nmt

qq_42734797的博客 2万+

Python基础教程之Python 列表( List) 详解

Python3列表 序列是 Python 中最基本的数据结构。 序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。 Python 有 6 个序列的内置类型,但最常见的是列表和元组。 列表都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。 列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号.

Soinice的博客 2003

STM32F407驱动OV2640摄像头:从SCCB协议到I2C模拟的保姆级避坑指南

本文详细介绍了STM32F407驱动OV2640摄像头的完整流程,重点解析SCCB协议与I2C的关键差异,并提供GPIO模拟实现方案。通过实战案例和调试技巧,帮助开发者避开常见陷阱,实现稳定的图像采集功能。

weixin_28700411的博客 346

P叔带你学Python-3-列表及其操作

Python列表是一种强大的数据结构,具有灵活性和易用性。它可以用于存储和操作多个元素的集合,支持各种操作,如访问、修改、添加、删除等。同时,列表还可以作为基本数据结构,用于构建更复杂的数据结构,如栈、队列、链表等。然而,在使用列表时,需要注意列表的可变性、索引从0开始、搜索效率较低和内存占用较大等特点,并避免可能的错误操作。如果需要处理大量数据或需要更高效的操作,可以考虑使用其他数据结构。总的来说,掌握了Python列表的使用方法和注意事项,可以帮助开发者更加高效地处理和管理数据。

Saki_Python的博客 476

I2C 协议在 Camera Sensor 驱动中的典型配置方式与实战应用

在 Linux Camera 系统中,Sensor 与主控之间的控制信令几乎都依赖于 I2C 总线完成。I2C 协议不仅承载了 Sensor 初始化、模式切换、AE/AF 等关键功能的指令传输,也是构建 v4l2\_subdev 驱动框架的核心基础。本文将围绕 Sensor 驱动中的 I2C 通信机制展开分析,从设备树节点声明到驱动代码中的传输接口调用,结合主流平台工程实战经验,详解如何构建稳定、高效、可维护的 I2C 控制路径。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1713

RepHead一种重参数化检测头用于提升YOLOv8在困难样本上的检测性能

在目标检测任务中,困难样本通常是指那些由于特殊背景、遮挡、低分辨率或极度小物体等因素,导致模型难以识别的样本。这类样本对传统YOLO系列模型的影响较大,常常造成漏检或误检。重参数化(Reparameterization)是一种深度学习中常用的技术,旨在通过对网络参数的变换,使得模型在训练过程中能够更加灵活地适应不同的数据特征。通过对原始网络结构的参数进行重新表达,能够引导模型在训练过程中学习到更加有效的特征。本文详细介绍了YOLOv8的改进——RepHead检测头,并深入分析了它在解决困难样本检测中的应用。

博客 1209

Python3 学习_基础篇:(六)基本数据类型_ List 列表

python list 数据的基本操作,list 的截取,追加、删除方法。

fjwangxi的博客 1370

化工过程设计软件:Aspen Plus二次开发_(2).二次开发概述

假设我们需要创建一个自定义的换热器模型,该模型能够计算两个物流之间的热交换量,并根据传热系数和换热面积进行调整。ACM 模型代码示例!自定义换热器模型!参数:传热系数 U (W/m^2·K)!换热面积 A (m^2)!热物流 T_hot_in (K), T_hot_out (K), F_hot (kmol/h)!冷物流 T_cold_in (K), T_cold_out (K), F_cold (kmol/h)!模型输入!U - 传热系数!A - 换热面积!

kkchenjj的博客 370

python3入门与进阶笔记_Python3 量化分析笔记小白到破产-列表进阶 切片组合

文:蓝兔子读难NOTES图: 配图 来源于网络Python3 量化分析从小白到破产笔记列表的进阶 切片与组合编码:0009最前面先放个简易目录,理清思绪好上路。python基础:编程环境准备函数:定义、调用、传参~当前=>高级特性:切片、迭代~文件读写:打开、保存~异常处理:~常用内置函数汇总:~常用内置模块:os、datetime~python 包:numpy、pandas~数据获取:tu...

weixin_42342882的博客 136

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python实验2.5.3 列表与字符串进阶

第1关:字符串基本操作 任务1 字符串拼接 依次输入两个字符串赋值给s1和s2,并将s1中所有英文字母转换为大写后连接到s2后面,并将拼接的结果赋值给s3,输出s3的值。 提示:应用“+”运算和字符串的upper()方法。 任务2 根据字符串的长度确定字符串输出重复次数 输入一个字符串赋值给s4,根据s4的长度来确定将s3重复多少次,重复运算结果赋值给s5,并输出s5的值。例如:输入“A1”, 如果s3的值是123XTU,则输出123XTU123XTU。 提示:求字符串的长度用内置函数len(),重复运

Meropidae的博客 5526

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Python3入门与进阶——列表推导式

内容很简单,看例子就可以理解。 a=[0,1,2,3,4,5,6,7,8,9,] b=[i**2 for i in a]#输出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] print(b) c=[i**2 for i in a if i >= 5]#输出:[25, 36, 49, 64, 81] print(c) d={i**2 for i in a if ...

sometime here 196

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Python语言基础自学3:列表进阶,元组 2022.3.8

学习目标: 1.数字列表,列表进阶内容 2.元组相关知识 3.有关python缩进的一些知识 学习内容: Python编程从入门到实践第四章 学习时间: 30min 学习产出: 列表进阶 for value in range(1,5): print(value) numbers=list(range(1,6))#生成一个1——6范围内的列表,注意range是左闭右开区间 print(numbers) numbers2=list(range(2,11,2))#生成一个2—

weixin_49974287的博客 425

小菜肉的Python进阶||~3元组与列表

Yummylm的博客 140

python3列表推导式矩阵转置_python3进阶之推导式1之列表(list)推导式(comprehensions)...

1.前言推导式,英文名字叫comprehensions,注意与comprehension(理解)只有s字母之差。推导式又可以叫解析式,推导式可以从一种数据序列构建新的数据序列的结构体。推导式分为,列表推导式,字典推导式,嵌套列表推导式,本节介绍列表推导式,其他后续介绍.2.列表推导式概念它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。那个表达式可以...

weixin_39782752的博客 422

【python】3个Python列表高效去重技巧:从基础到进阶(附性能对比)

本文介绍了3种Python列表去重的高效方法及其适用场景:1)set()方法最快速但无序;2)dict.fromkeys()保留顺序但需Python 3.7+;3)pandas库适合大数据量及条件过滤。性能测试显示set()最快(0.003秒/10万条),pandas最慢(0.012秒)。文章还请求读者关注支持作者达成5000粉丝目标。不同方法各具优势,可根据顺序保留、数据量和复杂度需求选择最适合的方案。

weixin_56334307的博客 1408

python3入门与进阶.zip密码_Python3基础 list zip 将两个列表打包起来

Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""@Author : 行初心@Date : 18-9-23@Blog : www.cnblogs.com/xingchuxin@Gitee : gitee.com/zhichengjiu...

weixin_39533361的博客 86

[Python3] 一文搞定Python进阶内容 List Comprehension (列表推导式)

看到这样的python代码,很懵逼??? [n for n in range(1, dividend+1) if dividend % n == 0] 或者这个: f = list(zip(prob,labels)) rank = [values2 for values1, values2 in sorted(f, key=lambda x:x[0])] 查了一下,这种写法是lis...

... 1271

【Python实战进阶】3、Python列表vs元组终极指南:性能对比+实战场景全解析

Python列表和元组终极指南:性能对比与实战场景 本文深入解析Python中列表和元组的核心区别与应用场景。关键点包括: 可变性差异:列表可变(支持增删改),元组不可变(创建后不能修改) 性能优势:元组内存占用更小(比列表少20%),初始化速度快5-10倍 选择策略: 列表适用场景:动态数据集合、需要修改的数据、丰富操作方法需求 元组适用场景:固定数据记录、字典键、函数多返回值、保护数据不被修改 实战建议:数据处理时先用元组保证数据完整性,处理阶段转为列表,最终结果可视需求转回元组 掌握这些差异可显著提升

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1120

变量不在选择列表中_Python3 量化分析笔记小白到破产-列表进阶 切片组合

文:蓝兔子读难NOTES 图: 配图 来源于网络Python3 量化分析从小白到破产笔记列表的进阶 切片与组合编码:0009最前面先放个简易目录,理清思绪好上路。python基础:编程环境准备学习路线规划基础数据类型:变量、字符串~基础语法与规范:注释、缩进~常用运算符:平方、与或非~程序3种执行结构:顺序、分支、循环高阶数据类型:列表、字典~函数:定义、调用、传参~当前=>高级特性:切片、...

weixin_39611208的博客 88

Python进阶3——列表解析式和生成器表达式

列表解析式相比循环更加简介易读 abc='abcdef' codes1=[] for code in abc: codes1.append(ord(code))#返回字符对应的十进制数。 codes2=[ord(code) for code in abc] print(codes1) print(codes2) 同样的结果,循环三行代码,而列表解析式只需要一行,更加简洁易读 在某些情况,用filter和map生成的列表,用列表解析式的话会更加简洁 codes3=[ord(code.

Master Cui的博客 451

Python面试宝典3 | Python列表去重进阶,保持相对位置的奥秘

带你每天学习python面试题

多森的博客 492
上一篇: python3之列表
下一篇: python之代码可读性浅谈
lin_not_for_codes
博客等级 码龄10年 47粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值