python_列表和元组

介绍  

列表(List)和元组(Tuple)是Python中两种不同的数据结构,它们都可以用来存储一系列的元素。下面是它们的主要特点和区别:

列表(List)

  1. 可变性:列表是可变的,这意味着您可以在创建列表后修改其内容。
  2. 定义:使用方括号 [] 来创建,元素之间用逗号分隔。
  3. 示例my_list = [1, 2, 3, 'a', 'b']
  4. 方法:列表有许多可用的方法,如 append()remove()pop()reverse() 等。

 

元组(Tuple)

  1. 不可变性:元组是不可变的,一旦创建,就不能修改其内容。
  2. 定义:使用圆括号 () 来创建,元素之间也用逗号分隔。
  3. 示例my_tuple = (1, 2, 3, 'a', 'b')
  4. 性能:由于元组是不可变的,它们通常比列表更快。
  5. 用作字典键:由于不可变性,元组可以作为字典的键,而列表则不行。

 

# 创建列表和元组
my_list = [1, 2, 3]
my_tuple = (1, 2, 3)

# 列表是可变的
my_list[0] = 0  # 有效
# my_tuple[0] = 0  # 这会引发错误,因为元组是不可变的

# 列表的方法
my_list.append(4)  # 添加元素到列表末尾

# 打印列表和元组
print("列表:", my_list)
print("元组:", my_tuple)

  • 列表和元组

    •  通用序列操作
      • 索引
        • 每个元素都有一个数字下标,代表它在序列中的位置,这个位置就是索引。
          • a="abcd"
          • >>> a[1]
          • 'b'
      • 分片
        • 所谓分片,就是通过冒号相隔的两个索引下标指定索引范围。
          • a="abcd"
          • a[0:3]
          • 'abc'
      • 序列相加
        • 序列支持加法操作,使用加号可以进行序列的连接操作,
          • [1, 2, 3] + [4, 5, 6]
          • [1, 2, 3, 4, 5, 6]
      • 乘法
          • [7] * 10
          • [7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
      • 成员资格
        • 所谓成员资格,是指某个序列是否是另一个序列的子集,该序列是否满足成为另一个序列的成员的资格
        • in运算符用于检验某个条件是否为真,并返回检验结果,检验结果为真,则返回True,为假,则返回False。
          • greeting='hello,world'
          • >>> 'w' in greeting #检测w是否在字符串中
          • True
      • 长度、最小值和最大值
        • 快速获取序列长度、最大值和最小值的内建函数,对应的内建函数分别为len、max和min。
          • a="abcd"
          • len(a)
          • 4
          • >>> max(a)
          • 'd'
          • >>> min(a)
          • 'a'
    • 列表 //可以当作数组使用

      • 创建列表
        • my_list = [1, 2, 3, 4, 5]
      • 赋值
        • >>> ma=[1,2,3,4,4,4]
        • >>> ma[0]=30
        • >>> ma[:]
        • [30, 2, 3, 4, 4, 4]
      • 在末尾添加元素
        • 列表。append(元素)
          • >>> a=[]
          • >>> a.append("a")
          • >>> a[:]
          • ['a']
      • 删除元素
        • >>> a=[1,4,3]
        • >>> a[:]
        • [1, 4, 3]
        • >>> len(a)
        • 3
        • >>> del a[1]
        • >>> len(a)
        • 2
      • 字符串转换成列表
        • list()
          • a=list('ass')
          • >>> a[:]
          • ['a', 's', 's']
      • 嵌套列表
        • eError: name 'a' is not defined
        • >>> a=['a','b']
        • >>> b=[1,2]
        • >>> c=[a,b]
        • >>> c[1]
        • [1, 2]
        • >>> c[1][1]
        • 2
      • 列表的方法
        • 格式
          • 对象.方法(参数)
        • list.append(obj)//列表添加元素
          • list //列表名
          • obj //添加的元素
        • list.extend(sep)//扩展列表
          • sep //列表名
        • list.index(obj)//搜索值,并返回第一的检索到的值的下标
          • obj //要检索的值
        • list.insert(index,obj)//指定位置插入数据
          • index //位置
          • obj //数据
        • list.sort(func) //排序
          • func //可选参数//使用该参数的方法经行排序
          • 实例
        • list.copy()//用与复制列表//类似于 a[ : ]
            • a=b.copy()
        • list.remove(0bj)//移除列表中第一个与obj一样的值
          • obj //要移除的值
        • list.pop(obj=list[-1])//移除指定位置的值,并将值返回
          • obj=list[-1] //列表的下标 //不写为最后一个值得下标
        • list.reverse()//将列表的值翻转
        • list.clear() //清空列表 ==//del a[:]
        • list.count(obj) //统计元素在列表的次数
          • obj //要统计的元素
    • 元组

      • 重点
        • 元组是不可变的,一旦创建,就不能修改其内容。
      • 定义
        • 用一对圆括号括起来,括号中各个值之间通过逗号分隔
      • 创建
      • tuple (obj) //将其他类型转换为元组类型并返回,是元组类型不动并返回
      • 基本操作
        • Python的元组与列表类似,不同之处在于元组的元素不能修改(前面多次提到的字符串也是不能修改的)。
        • 访问数据
          • 直接访问下标
        • 修改数据
          • 虽然不能修改但是可以连接
        • 删除元组
          • 因为元组不能修改,删除也是修改
          • 但是可以将整个元组删除 //del
      • 与列表的区别
        • 是否能修改 //作用 保证了数据的安全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/560443.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

广西模板厂有哪些厂家

在广西地区,建筑行业蓬勃发展,建筑模板作为建筑施工的重要材料,需求量逐渐增加。在这个市场中,贵港市能强优品木业有限公司以其卓越的产品质量和丰富的生产经验而闻名,成为广西地区的知名建筑模板生产厂家。 作为一家具…

OpenCV4.9使用 inRange 的阈值操作

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9​​​​基本阈值操作 下一篇:利用OpenCV4.9制作自己的线性滤波器! ​目标 在本教程中,您将学习如何: 使用 OpenCV cv:&#xff…

【错题集-编程题】大数乘法(模拟 + 高精度乘法)

题目链接:大数乘法_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 根据列竖式运算的过程模拟即可,但是我们可以改进⼀下列竖式的过程: 先计算⽆进位相乘并且相加后的结果;然后再处理进位。 细节:题目所给的两个字符串…

OpenHarmony 视频播放开发教程~

介绍 本示例主要展示了网络视频播放的相关功能。使用ohos.multimedia.avsession等接口实现视频播放的功能。 效果预览 主页 使用说明 点击播放按钮,应用的播放状态发生变化。点击暂停按钮,应用的播放状态开始变化。点击上一个按钮,界面展…

Ribbon 添加快速访问区域

添加快速访问区域挺简单的,实例如下所示: void QtRightFuncDemo::createQuickAccessBar() { RibbonQuickAccessBar* quickAccessBar ribbonBar()->quickAccessBar(); QAction* action quickAccessBar->actionCustomizeButton(); act…

如何查找一篇英文文献的源代码?(论文中没有源代码链接时)如何查找一篇论文的实现代码从而复现论文?

有两个网址,从这两个网址里面能找到论文相关代码,但不确定是不是人家论文里的源代码,但是根据论文实在找不到的情况下,只能试试这两个网址了 1. https://paperswithcode.com/ 2. https://www.catalyzex.com/

团队协作:如何利用 Gitee 实现多人合作项目的版本控制

文章目录 前言一、名词解释1、Git是什么?2、Gitee、GitHub和GitLab 二、操作步骤1.安装Git2.创建Gitee仓库3.用vscode连接仓库4. 克隆远程仓库 总结 前言 在软件开发中,有效地管理代码是至关重要的。Gitee 是一个功能强大的代码托管平台,提供…

Sentinel 流控注解使用

大概原理:通过反射解析注解 SentinelResource信息完成调用,处理方法,类似AOP编程 处理方法的返回类型要保持一致,参数和顺序保持一致, 可以在参数列表最后加 com.alibaba.csp.sentinel.slots.block.BlockException; …

探索C语言数据结构:利用顺序表完成通讯录的实现

在好久之前我就已经学习过顺序表,但是在前几天再次温习顺序表的时候,我惊奇的发现顺序编表可以完成我们日常使用的通讯录的功能,那么今天就来好好通过博客总结一下通讯录如何完成吧。 常常会回顾努力的自己,所以要给自己的努力留…

【JavaSE】浅谈Java异常

前言 本篇文章是对Java异常体系相关内容及部分注意事项的的讲解。 一. 认识异常 在每个人的生命历程中,或多或少都会遇到生病或受伤的情况,比如:皮肤擦伤、感冒、发烧、患上某些传染病等等。不管“病情”严重与否,这些都可以算…

数据链路层协议——以太网协议

目录 要解决的问题 以太网协议 以太网帧格式 MAC地址 MAC地址和IP地址 MTU MTU对IP协议的影响 MTU对UDP协议的影响 MTU对TCP协议的影响 ARP协议 ARP协议格式 ARP协议的工作流程 ARP缓存表 要解决的问题 上一篇我们也说了,数据从应用层一步步封装到了网…

leetcode:滑动窗口----3. 无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 解释: 因为…

工业现场ModbusTCP转EtherNETIP网关引领生物现场领新浪潮

生物质发生器是一种能够产生、培养生物的设备。客户现场需要将生物发生器连接到罗克韦尔系统,但是二者协议无法直接通讯,需要通过开疆智能ModbusTCP转Ethernet/IP网关将两者进行通讯连接,生物质发生器以其独特的工作原理和优势,使…

【命名空间详解】c++入门

目录 命名空间的定义 1.命名空间的正常定义 2.命名空间还可以嵌套 3. 命名空间可以合并 命名空间的使用 1.加命名空间名称及作用域限定符 2.使用using将命名空间中某个成员引入 3.使用using namespace 命名空间名称 引入 输入,输出 输出 命名空间的定义 …

[阅读笔记21][RA-CM3]Retrieval-Augmented Multimodal Language Modeling

这篇论文是meta联合斯坦福在23年4月发表的论文,提出了一个使用外部知识检索增强的多模态模型。 这篇模型提出的RA-CM3模型是第一个能够检索并生成图像文本的多模态模型,在图像文本生成任务上优于现有的多模态模型,同时使用更少的训练量。 RA-…

在PostgreSQL中如何处理大对象(Large Objects),例如存储和检索二进制文件?

文章目录 存储二进制文件为大对象步骤 1:创建一个大对象步骤 2:写入数据到大对象 检索大对象为二进制文件步骤 1:打开大对象以进行读取步骤 2:从大对象读取数据 注意事项 PostgreSQL 提供了对大对象(Large Objects&…

【多线程学习】深入探究阻塞队列与生产者消费者模型和线程池常见面试题

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

【vue】el-tree的新增/编辑/删除节点

1、概述 关于树形结构的新增同级节点&#xff0c;新增子级节点&#xff0c;修改节点名称&#xff0c;删除节点等四种操作&#xff0c;各种参数配置完全继承el-tree&#xff0c;本篇使用vue2 element-ui 2、效果图展示 3、调用方式 <template><Tree:data"tree…

上位机图像处理和嵌入式模块部署(树莓派4b和视觉slam十四讲)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 实际使用中&#xff0c;树莓派4b是非常好的一个基础平台。本身板子价格也不是很贵&#xff0c;建议大家多多使用。之前关于vslam&#xff0c;也就是…

CSS display属性

目录 概述&#xff1a; 设置display示例&#xff1a; none&#xff1a; block&#xff1a; inline&#xff1a; inline-block &#xff1a; 概述&#xff1a; 在CSS中我们可以使用display属性来控制元素的布局&#xff0c;我们可以通过display来设置元素的类型。 在不设置…
最新文章