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.hqwc.cn/news/635736.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习理论基础—神经网络算法公式学习

机器学习理论基础—神经网络公式学习 M-P神经元 M-P神经元(一个用来模拟生物行为的数学模型):接收n个输入(通常是来自其他神经 元),并给各个输入赋予权重计算加权和,然后和自身特有的阈值进行比较 (作减法&#xff0…

URL地址解析至页面展示全过程(面试详细解答)

目录 1、解析URL 2、缓存判断 ​编辑3、DNS解析 ​编辑4、获取MAC地址 5、TCP三次握手 6、HTTP请求 7、服务器处理请求,返回HTTP响应 8、页面渲染 9、TCP四次挥手 10、浏览器解析HTML 11、浏览器布局渲染 1、解析URL 首先会对 URL 进行解析,…

基于SpringBoot+Vue的民俗网系统 免费获取源码

项目源码获取方式放在文章末尾处 项目技术 数据库:Mysql5.7/8.0 数据表:13张 开发语言:Java(jdk1.8) 开发工具:idea 前端技术:vue 后端技术:SpringBoot 功能简介 (有文档) 项目获取关键字&#…

shell脚本编程的例子(55例子)-3

第三部分:eg32-eg50shell例子。开放一周后启用vip阅读了。…… ^v^ Eg32、while/until/for经典例子 #!/bin/bash ## filename: while-infinite_loops.sh while true; do sleep 5 echo "infinite loops [ hit CTRLC to stop]" done Eg33、while/…

Matlab之空间坐标系绘制平面图形

在空间直角坐标系中,绘制指定平面方程的图形 版本说明: 20240413_V1.01:更正代码错误,并修改输入参数类型(测试用例得修改) 20240413_V1.00:初始版本 一、平面方程 基本形式为:A…

设计模式之创建型模式详解

设计模式 创建型模式 创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节&#xff0…

C++ 内存分区管理

一、栈区(Stack) 栈区用来存储函数的参数值、局部变量的值等数据。栈区是自动分配和释放的,函数执行时会在栈区分配空间,函数执行结束时会自动释放这些空间。栈区的数据是连续分配的,由系统自动管理。 注意事项&…

llama-factory SFT 系列教程 (四),lora sft 微调后,使用vllm加速推理

文章目录 文章列表:背景简介llama-factory vllm API 部署融合 lora 模型权重 vllm API 部署HuggingFace API 部署推理API 部署总结 vllm 不使用 API 部署,直接推理数据集 tenplatevllm 代码部署 文章列表: llama-factory SFT系列教程 (一)&a…

鸿蒙上热搜:全国应用被华为呼唤!

日前,话题“华为呼吁全国应用尽快加入鸿蒙”冲上微博热搜榜。 据媒体报道,近日,华为徐直军在华为分析师大会上表示,打造鸿蒙原生应用生态是2024年最关键的事。华为希望通过2024年一年的时间,先在中国市场把智能手机上使…

C语言求自幂数(水仙花数与其他自幂数)

前言 今天我们来看一下如果求解自幂数(水仙花数),水仙花数是自幂数的一种,我们来看看自幂数的概念吧,当一个n位数,它的每个位上的数字的n次幂之和等于它本身的时候,我们称这个数为自幂数。水仙花…

CSGO挂箱号惨遭红锁,有人亏了100万

红锁大行动真的来了,V社在4月16号的更新里面,虽然没有说关于VAC相关的更新,但是CS2实测,已经实装到了游戏里面,伴随着这一次更新,很多的新号,尤其是像挂箱号相继出现大量的VAC红锁。 被红锁的具…

【YOLOv8改进[Neck]】使用BiFPN助力V8更优秀

目录 一 BiFPN(双向特征金字塔网络) 1 BiFPN 2 EfficientDet 二 使用BiFPN助力模型更优秀 1 整体修改 2 配置文件 3 训练 其他 一 BiFPN(双向特征金字塔网络) BiFPN(双向特征金字塔网络, 2020)用于特征融合层。 官方论文地址:https://arxiv.org…