Python基础(二)—列表和元组

Python基础教程(第3版)学习笔记04:列表和元组(二)——列表和元组 一、列表——Python的主力 阅读详情

List&Tuple

List是一个可变序列类型。因此,您可以通过添加或删除元素来更改给定的列表。元组是不变序列类型。你不能换一个元组。所以你必须创建一个新的。

  • List
    • 创建:listTmp = [] , listTmp = [‘listtmp’, 2017, 2018, 2019]
    • 访问:通过下标进行访问(和字符串同样可以使用切片),listTmp[0] , listTmp[1,3]
    • 增加:append()、或者通过下标进行组合新增或删除等操作。listTmp.append(2020) # ‘listtmp’, 2017, 2018, 2019, 2020
    • 删除:listTmp.pop()(该方法默认删除最后一个)、 listTmp.remove(2018)(移除列表中某个值的第一个匹配项)、 del listTmp2
      listTmp = [2, 5, 7, '2019', '2010', 'ABCD']
      print(listTmp.pop())
    
      listTmp.remove(7)
      print(listTmp)
    
      del listTmp[2]
      print(listTmp)
      '''
      ABCD
      [2, 5, '2019', '2010']
      [2, 5, '2010']
      '''
    
    
  • Tuple
    • 创建:tupleTmp = () , tupleTmp = (‘listtmp’, 2017, 2018, 2019)
    • 访问:通过下标进行访问(和字符串同样可以使用切片),tupleTmp[0] , tupleTmp[1,3]
    • 增加:元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。
    • 删除:元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
      tupleTmp = ('loak', 2017, 2018, 2019)
    
      print(tupleTmp[0])
      tupleTest = 1
      newTuple = tupleTmp + (tupleTest,)  # 元组中的元素只能连接组合进行增加
      print(newTuple)'
    
      del tupleTmp
    
    

列表和元组的运算

  • 列表
    列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
Python 表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ")1 2 3迭代
  • 元组
    与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
(‘Hi!’,) * 4(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print (x,)1 2 3迭代

内置函数

  • 列表
序号函数描述
1len(list)列表元素个数
2max(list)、min(list)返回列表元素最大、最小值
3list(seq)将元组转换为列表
4list.append(obj)在列表末尾添加新的对象
5list.count()统计某个元素在列表中出现的次数
6list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
7list.index(obj)从列表中找出某个值第一个匹配项的索引位置
8list.insert(index, obj)将对象插入列表
9list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
10list.remove(obj)移除列表中某个值的第一个匹配项
11list.reverse()反向列表中元素
12list.sort( key=None, reverse=False)对原列表进行排序
13list.clear()清空列表
14list.copy()复制列表
  • 元组
序号函数描述
1len(tuple)计算元组元素个数
2max(tuple)、min(tuple)返回元组元素最大、最小小值
3tuple(seq)将列表转换为元组

关于列表和元组的深浅复制

  • Python对象和变量的管理
    Python没有C语言中的变量。在C语言中,变量不止是个名字,它是字节集合并真实存在于内存某个位置上。而在Python中,变量仅仅是指向对象的标签。
      a = [1, 2, 3]  # 表示我们创建了一个指引指向列表[1, 2, 3],但是a不是列表
    
      b = a  # 此时并没有复制a所指引的列表。我们只是创建了一个新的标签b,然后将其指向a所指向的列表。如果修改a,那你就同时修改了b,因为它们指向同一个列表。
    
      # 可以使用内建函数id()可以返回对象的唯一id。该id是对象的内存地址。
      c = []
      print(id(a))
      print(id(b))
      print(id(c))
      '''输出:
        10784000
        10784000
        10304448
      '''
    

浅复制.png

  • 五种复制方式的比较

      import copy
      a = [[1], 2, 3]
      b = a[:]
      c = list(a)
      d = a * 1
      e = copy.copy(a)
      f = copy.deepcopy(a)
    
      a[0].append(4)
    
      print('a                ', id(a), a)
      print('a[:]             ', id(b), b)
      print('list(a)          ', id(c), c)
      print('a * 1            ', id(d), d)
      print('copy.copy(a)     ', id(e), e)
      print('copy.deepcopy(a) ', id(f), f)
      '''
        a                 9303824 [[1, 4], 2, 3]
        a[:]              9304864 [[1, 4], 2, 3]
        list(a)           9004416 [[1, 4], 2, 3]
        a * 1             9304824 [[1, 4], 2, 3]
        copy.copy(a)      9304784 [[1, 4], 2, 3]
        copy.deepcopy(a)  9304744 [[1], 2, 3]
      '''
    

    从以上可以看出,使用 a[:], list(a), a*1, copy.copy(a)四种方式复制列表结果都可以得到一个新的列表,但是如果列表中含有列表,所有b, c, d, e四个新列表的子列表都是指引到同一个对象上。只有使用copy.deepcopy(a)方法得到的新列表f才是包括子列表在内的完全复制。

  • 深复制

    • 列表深复制:a[:]、list(list)、copy.deepcopy(a)
      上例为浅复制,如果需要深复制a指引的列表。我们必须创建新的列表,然后使用变量来指引它。可以使用切片a[:]或者list(list)来实现全复制。当使用copy.copy(a)时,如果a中嵌套有列表,则嵌套的列表是浅复制。

        a = [1, 2, 3]
      
        b = a[:]
        # b = list(a)
        # import copy
        # b = copy.deepcopy(a)
        print(id(a))  # 10652928
        print(id(b))  # 10653408  使用a[:]已成功复制
      
      
    • 其他注意事项
      还接受生成器。切片笔记法不适用于生成器,因为生成器是不可更改。因此不能generator[0]。

        >>> generator = (x * 3 for x in range(4))
        >>> list(generator)
        [0, 3, 6, 9]
      
      

      百分之九十的切片标记法都可以被list()代替。下次你看见[:]的时候试试使用list()替代,这样可以让代码更加可读。

      复制内容参照文章

个人博客:Loak 正 - 关注人工智能及互联网的个人博客
文章地址:Python基础(二)—列表和元组

结合qtdesigner,用pyqtgraph在界面上绘制波形图(一) 思路:先画图,然后在qtdesigner上放一个容器,给这个容器添加一个布局,然后把图当作一个Widget放入布局中。二、PyUIC把test.ui转换成test.py,再新建一个load_test.py写脚本。就这么简单,基础部分就完成了。也可以给它添加样式,我知道的样式不算多,但会继续写。一、随便拖进来一个容器控件,我拖了一个Widget。要想把波形图显示在界面上,核心思想其实很简单。三、load_test.py的代码。 阅读详情

相关推荐

svn 分支(branch)和标签(tag)管理

svn的分支管理

caohongxing的博客 3万+

python中用于返回元组中元素最小值的是_Python数据类型之元组

1. 元组的定义:元组的创建只需要在括号()中添加元素即可创建元组,元素之间是有逗号(,)分隔开。元组()与列表[]相似,不同之处在于列表是可变对象,而元素是不可变对象,即元组一旦创建之后,其元素不可以再修改。2. 创建元组创建一个空元组: tup = ()创建一个只有一个元素的元组: tup = (1, ) # 这个逗号不能省略,否则创建的不是元素创建一个含有多个元素的元素: tup = (1...

weixin_39683858的博客 4265

IBM System x3650 M5 IMM配置

1、IMM基本介绍 IMM,全称是Intel Mobile Module是IBM服务器上的集成管理模块,该模块是独立于服务器系统,可以通过一个单独的IP地址,使用Web和虚拟端口方式直接启动、停止和管理远程服务器,即使主板、处理器或者内存故障导致主机无法启动,也依然可以远程管理服务器,可以远程直接操作启动画面和服务器工作界面。 2、IP地址配置 2.1 通过Web方式修改IP地址 IBM服...

血饮渊虹的博客 4万+

python3.0关键字详解_Python 使用 _________________ 关键字来定义类。 (3.0分)_学小易找答案...

【填空题】在 Python 中定义类时,与运算符“ // ”对应的特殊方法名为 _______________ 。 (3.0分)【计算题】编写函数,判断一个数字是否为素数,是则返回字符串 YES ,否则返回字符串 NO 。【计算题】阅读下面的代码,分析其执行结果。 def demo(a, b, c=3, d=100): return sum((a,b,c,d)) print(demo(1, 2, ...

weixin_42609225的博客 1152

周立功CAN盒二次开发实录:用QT5.1.0解析汽车CAN报文(附数据可视化技巧)

本文详细介绍了基于QT5.1.0和周立功USBCAN-E-U设备进行汽车CAN总线二次开发的实战过程。核心内容包括利用CANdb++数据库解析原始报文并转换为物理值,以及通过QCustomPlot库实现高性能实时数据可视化,为车载诊断与车联网开发提供了一套完整的工程实践方案。

sugar的博客 1058

RV1126平台JD9366触摸屏驱动移植实战:从源码到烧录的完整指南

本文详细介绍了在RV1126平台上移植JD9366触摸屏驱动的完整流程,从环境准备、源码获取到驱动配置、内核编译、设备树设置以及固件烧录与测试验证。通过实战经验分享和常见问题排查,帮助开发者高效完成触摸屏驱动移植,适用于嵌入式Linux开发场景。

weixin_30872337的博客 410

python中用于返回元组中元素最小值的是_10个示例带你掌握python中的元组

数据结构是任何编程语言的关键部分。为了创建强大而性能良好的产品,必须非常了解数据结构。在本文中,我们将研究Python编程语言的重要数据结构,元组。元组是用逗号分隔并括在括号中值的集合。与列表不同,元组的元素是不可变的。不变性可以视为元组的识别特征。我将通过示例解释元组的功能和对其的操作。一、创建元组元组由括号中的值组成,并用逗号分隔开a=(3,4)print(a)print(type(a))...

weixin_42509396的博客 2748

基于MS5351的三通道可编程时钟发生器设计

时钟发生器是数字系统时序验证与信号完整性测试的核心基础设备,其原理基于锁相环(PLL)对参考晶振进行倍频与分频控制,通过寄存器配置实现多路独立频率输出。技术价值体现在高精度、低抖动、快速切换与工程可部署性之间取得平衡,尤其适用于FPGA/ASIC参考时钟调试、ADC/DAC采样时钟验证及嵌入式硬件时序裕量评估等场景。本方案采用MS5351三通道时钟芯片与ESP32主控协同架构,在保证LVCMOS输出质量与I²C可编程性的前提下,优化电源噪声抑制、晶体负载匹配和跨板信号完整性,兼顾成本、周期与实测稳定性,为实

weixin_31715353的博客 214

python中用于返回元组中元素最小值的是_[Python3]Tuple(元组)

概述元组,使用小括号()来标识,其特点是:元组中的元素不可修改下面我们看下如何创建元组的示例:tuple1 = (u‘DeepTest‘, u‘开源优测‘, u‘1‘)tuple2= (1, 2, 3, 4, 5)tuple3= ("a", "b", "c", "d", "e")内置函数Python中常用的内置函数有:len用于计算元组元素的个数max返回元组中元素最大值min返回元组中元素最小值...

weixin_39667797的博客 2258

AirSim中图像API的应用

解析Airsim图像获取保存的api

fegxg的博客 1607

【模型实战】MiMo-VL-7B讲解与实战

维度成绩MMMU70.6(图像理解最难测试之一)VideoMME70.8(视频理解标杆)59.4(超越78B参数模型)56.1(超过专用GUI模型)Elo评分开源VLM排名第一(7B~72B)社区热度过去一个月下载超1,600次(RL+SFT)📌一句话概括MiMo-VL 是目前性能最强、推理最稳、体验最佳、生态最全的7B级开源视觉语言模型。

m0_47867638的博客 1200

python 类型-Python数据类型详解

目录1、字符串2、布尔类型3、整数4、浮点数5、数字6、列表7、元组8、字典9、日期1、字符串1.1、如何在Python中使用字符串a、使用单引号(')用单引号括起来表示字符串,例如:str='this is string';print str;b、使用双引号(")双引号中的字符串与单引号中的字符串用法完全相同,例如:str="this is string";prin...

weixin_37988176的博客 3408

AI智能体丨使用Coze一键生成中式养生视频,39 条作品涨粉 37.9 万!(附保姆级教程)

本文介绍如何利用扣子(Coze)AI智能体工作流高效制作中式养生短视频。该方案通过AI自动生成养生文案、古风插画素材、语音合成和视频剪辑,将传统制作流程从2-3小时缩短至1-2分钟。工作流包含文案创作、音频生成、图片素材制作和视频合成四大模块,采用大模型处理各环节内容,最终输出可直接导入剪映的草稿文件。特别适合希望快速批量制作文化氛围感强、兼具干货与视觉效果的养生内容创作者,效率提升近百倍。

李同学Lino的博客 3031

Python基础(二):列表和元组

Python基础(二):列表和元组 日期:2015年10月10日  作者:雨水 概述 本文为的读书笔记(二) 列表索引 Python中列表的索引也是从0开始的。比如: >>> hello="Hello" >>> hello[0] 'H' Python还支持负数索引,这是Java等语言所没有的特点。当使用负数索引时,Python从右边,也就是从最后1个元素开始计数,

家辉自留地 835

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

两个元组如何相乘python_Python基础教程(二)列表和元组

数据结构是以特定方式(比如编号)组合起来的数据元素(如数字、字符及其他数据结构)集合,数据结构决定算法,是编程语言不可或缺的部分。Python中最基本的数据结构是序列(sequence),内置的序列有多种,最常用的序列就是列表、元组和字符串。列表和元组是相似的,或者说所以序列都是相似的,有通用的序列操作,比如索引、切片、相加、相乘、迭代、成员资格检查以及一些内置函数。列表和元组作为两种不同的序列,...

weixin_39991305的博客 1789

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python基础编程(二)列表和元组

2.1序列概览 列表和元的主要区别在于,列表可以修改,元组则不能。 也就是说如果要根据要求来添加元素,那么列表可能会更好用;出于某些原因,列表不能修改的时候,使用元组则更为合适。 2.2 通用序列操作 所用序列类型都可以进行某些特定的操作。这些操作包括:索引、分片、加、乘以及检查某个元素是否属于序列的成员(成员资格)。除此之外,Python还有计算序列长度、找出最殴打元素和最小元...

342

Python基础教程(二)——列表和元组

列表和元组 概述:列表和元组是Python的内置序列,其主要不同在于:列表是可以修改的,而元组不可以。 Python支持一种数据结构的基本概念,名为容器。容器基本上就是可包含其他对象的对象。 主要的容器是序列(如列表和元组)和映射(如字典)。 2.1 通用的序列操作 几种操作适用于所有序列,包括索引、切片、相加、相乘、和成员资格检查。 Python提供了一些内置函数,可以...

aLter 570

python基础任务二(字符串、列表和元组)

一、字符串 1.创建字符串 字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。 创建字符串很简单,只要为变量分配一个值即可。 var1='apple' var2='Hello World!' 2.访问字符串中的值 Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。 Python访问子字符串,可以使用方括号来截取字符串。...

wyh_wen 853

python基础二之列表和元组(元组)

与列表一样,元组也是序列。唯一的区别在于列表是可以修改的,而元组是不可以修改的。元组的定义很简单的,在圆括号内,把元素用逗号隔开就可以创建一个元组。例如: num=(1,2,3,4,5) print("num:{}".format(num)) 运行结果如下: num:(1, 2, 3, 4, 5) 元组并不太复杂,除了访问和创建以外,对元组可执行的操作不多。元组的创建及元素的访问方式与...

qq_36581957的博客 122

python中用于返回元组中元素最小值的是_Python基础(二)—列表和元组

List&TupleList是一个可变序列类型。因此,您可以通过添加或删除元素来更改给定的列表。元组是不变序列类型。你不能换一个元组。所以你必须创建一个新的。List创建:listTmp = [] , listTmp = ['listtmp', 2017, 2018, 2019]访问:通过下标进行访问(和字符串同样可以使用切片),listTmp[0] , listTmp[1,3]增加:app...

weixin_40006265的博客 868

python列表索引分片_Python基础(二):列表和元组详解

Python基础(二):列表和元组日期:2015年10月10日 作者:雨水概述本文为的读书笔记(二)列表索引Python中列表的索引也是从0开始的。比如:>>> hello="Hello">>> hello[0]'H'Python还支持负数索引,这是Java等语言所没有的特点。当使用负数索引时,Python从右边,也就是从最后1个元素开始计数,最后一个元素的位...

weixin_39767386的博客 145

array python 交集_Python基础(二)——列表和元组

Python中最基本的数据结构是序列,序列中的每一个元素都有编号,即索引(从左到右第一个索引为0,从右到左第一个索引为-1)。python提供的序列类型在所有程序设计语言中是最丰富、最灵活,也是功能最强大的。python中支持3种基本序列数据类型:字符串、列表和元组,还支持1种映射数据类型:字典。下面我们主要介绍两种最常用的序列类型:列表和元组。列表跟元组的主要区别是,列表可以修改,而元组不可以。...

weixin_29191761的博客 259

Python学习笔记【二】——《python基础教程》:: 列表和元组

第2章 列表和元组

holly的专栏 593

Python基础数据类型(二)——字符串、列表和元组类型

字符串、列表和元组类型1.字符串类型字符串存储方式介绍字符串的下标字符串切片字符串类型转换字符串组成方式字符串的常见操作2.列表类型列表介绍创建方式访问列表内的元素修改元素的值删除元素列表的特殊操作列表的常用函数排序和反转切片(截取)多维列表(嵌套列表)列表的遍历列表的内置方法3.元组类型元组介绍元组创建元组与列表相同的操作使用方括号加下标访问元素切片(形成新元组对象)tuple.count()/tuple.index()元组中不允许的操作不允许修改、新增元素不允许删除某个元素(但可以删除整个元组)列表和元

tltfl的博客 877

《Python基础教程》(二)列表和元组

容器 1.序列(列表和元组) 2.映射(字典) 3.集合 通用序列(列表元组)操作 索引序列中所有的元素都是有编号的—从0开始递增 字符串是一个有字符组成的序列 Python可以通过-1索引最后一个元素 >>>a = 'Hello' >>>a[-1] o分片访问一定范围内的元素 >>>a = [1,2,3,4,5,6] >>>a[1:3] [2,3] 同样可负

长屌少女 695

python基础二之列表和元组(列表(1))

我们除了可以对列表执行序列的标准操作(索引、切片、相加、相乘、成员检查等),还可以对列表进行其他的操作,如:赋值、删除等。列表的特点之一是它是可以修改的,二而元组和字符串则不能。 1、修改列表:给元素赋值 我们一般通过赋值的方式修改列表中的元素。即使用索引表示法给特定位置元素赋值。例如: month=["january","february","match","aprill","may",...

qq_36581957的博客 147
上一篇: Python基础(一)—数值类型和字符类型
下一篇: Python基础(三)—字典和集合
luoz_python
博客等级 码龄10年 57粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值