python 常用数据结构-元祖

news2024/11/15 23:52:59

Tuple 元组

  • 元组定义与使用
  • 元组常用方法
  • 元组与列表

元组定义

  • 元组是有序的不可变对象集合
  • 元组使用小括号包围,各个对象之间使用逗号分隔
  • 定义元祖可以不用括号,直接使用,隔开
  • 元组是异构的,可以包含多种数据类型

元组使用:创建

  • 创建
    • 使用逗号分隔
    • 通过小括号填充元素
    • 通过构造方法 tuple(iterable)
# 1、直接使用逗号分隔
t5 = 1, 2, 3
print(type(t5))

# 2、通过小括号填充元素
t3 = (1, 2, 3)
print(t3)
t4 = ('a', 'b', 'c')
print(t4)

# 3、通过构造函数tuple()
t1 = tuple()
print(type(t1))
t2 = tuple([1, 2, 3])
print(t2)
print(type(t2))

tuple4 = tuple("hogwarts")
print(type(tuple4),tuple4) # <class 'tuple'> ('h', 'o', 'g', 'w', 'a', 'r', 't', 's')

tuple5 = tuple([1,2,3,4,5])
print(type(tuple5),tuple5) # <class 'tuple'> (1, 2, 3, 4, 5)

# 4、注意:单元素元组,逗号不可或缺
tuple6 = 1,
print(type(tuple6),tuple6) # <class 'tuple'> (1,)


元组使用:索引

  • 索引

  • 可以通过索引值来访问对应的元素。

    • 正向索引,默认编号从 0 开始
    • 反向索引,默认编号从-1 开始
t = tuple(range(1, 6))
print(t) # (1, 2, 3, 4, 5)
# 正向索引
print(t[2]) # 3

# 反向索引
print(t[-1]) # 5

元组使用:索引示意图

在这里插入图片描述

元组使用:切片

  • 切片 [start: stop: step]

    • 三个值都是可选的,非必填
    • start 值: 指示开始索引值,如果没有指定,则默认开始值为 0;
    • stop 值:指示到哪个索引值结束,但不包括这个结束索引值。如果没有指定,则取元组允许的最大索引值;
    • step 值:步长值指示每一步大小,如果没有指定,则默认步长值为 1。

元组使用:切片实例

# 切片的使用
t = (1,2,3,4,5,6)

print(t[:])
print(t[:-2])
print(t[2:4])
print(t[2:5:2])

# 特殊的切片写法:逆序
print(t[::-1])

元组常用方法

  • index()
  • count()

元组常用方法 index()

  • index(item)

  • 返回与目标元素相匹配的首个元素的索引。

  • 目标必须在元组中存在的,否则会报错

t = (1, 3, 2, 3, 2)
print(t.index(3))

t = ('h', 'o', 'g', 'w', 'a', 'r', 't', 's', 'a')
print(t.index('a'))


"""元祖方法"""
# 返回与目标元素相匹配的首个元素的索引。
tuple1 = tuple("hogwarts")
print(tuple1.index("o")) # 1
print(tuple1.index("x")) # ValueError: tuple.index(x): x not in tuple
print(tuple1.count("s")) # 2

元组常用方法 count()

  • count(item):返回某个元素出现的次数。

  • 入参:对象 item

  • 返回:次数

t = (1, 2, 2, 3, 3, 3, 3)
print(t.count(3))

t = ('h', 'o', 'o', 'o', 'g', 'w', 'a', 'r', 't', 's')
print(t.count('a'))

元组解包

  • 元组解包:把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中。
# 传统逐个赋值的方式

t = (1, 2, 3)
a = t[0]
b = t[1]
c = t[2]
print(a, b, c) # 1 2 3

# 使用元组解包,一气呵成
a, b, c = (1, 2, 3)
print(a, b, c) # 1 2 3

a, b, c = [1, 2, 3]
print(a, b, c)# 1 2 3

元组与列表

  • 相同点
    • 都是有序的
    • 都是异构的,能够包含不同类型的对象
    • 都支持索引和切片
  • 区别
    • 声明方式不同,元组使用(),列表使用 []
    • 列表是可变的,元组是不可变的

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决Unity的PostProcess奇怪报错

大家好&#xff0c;我是阿赵。   最近在使用Unity的PostProcess后处理效果的时候&#xff0c;发现了一个问题&#xff0c;下面记录一下这个问题的出现原因和解决办法。 一、出现问题 问题是这样出现的&#xff1a;   在场景里面添加某一个后处理效果后&#xff0c;当这个后…

JUC之ThreadLocal

文章目录 1 基础知识1.1 强软弱虚四种引用 2 ThreadLocal出现的好处3 ThreadLocal源码分析3.1 ThreadLocal内存泄露问题3.2 ThreadLocal为什么使用的是弱引用3.3 清扫过期的Entry 4 ThreadLocal使用建议 1 基础知识 1.1 强软弱虚四种引用 【整体结构】 【强引用】 【软引用…

(文件[夹]批量分类整理_多级匹配_交叉匹配_路径结构交叉调整)文件[夹]批量复制

​ 首先&#xff0c;需要用到的这个工具&#xff1a; 百度 密码&#xff1a;qwu2 蓝奏云 密码&#xff1a;2r1z ​如果没有使用过此工具&#xff0c;建议阅读此教程前&#xff0c;先看下这篇文章&#xff1a;https://mp.csdn.net/mp_blog/creation/editor/113605549 原理&…

【Python爬虫与数据分析】文件读写

目录 一、概述 二、txt文件读写 三、csv文件读写 四、Json文件读写 一、概述 读写模式&#xff1a; r&#xff1a;读数据w&#xff1a;覆盖写入a&#xff1a;追加写入rb&#xff1a;以二进制形式读出wb&#xff1a;以二进制形式写入ab&#xff1a;以二进制形式追加r、w、…

Java log 日志

文章目录 log4j.properties配置 log4j.properties 配置 log4j.rootLoggerINFO, stdoutlog4j.appender.stdoutorg.apache.log4j.ConsoleAppender log4j.appender.stdout.layoutorg.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern%d{yyyy-MM-dd H…

MySQL单表查询练习题

目录 第一题 第二题 第三题 第一题 1.创建数据表pet&#xff0c;并对表进行插入、更新与删除操作&#xff0c;pet表结构如表8.3所示。 (1&#xff09;首先创建数据表pet&#xff0c;使用不同的方法将表8.4中的记录插入到pet表中。 mysql> create table pet( name varchar(…

网络安全(黑客)内网渗透基础知识

0x01 内网概述 内网也指局域网&#xff08;Local Area Network&#xff0c;LAN&#xff09;是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的历程安排、电子邮件和传真通信服务等功能。 内…

交叉导轨的结构与特长

在交叉导轨中&#xff0c;精密滚柱互相直交地组合在一起的滚柱保持架与设置在专用轨道上的90V形沟槽滚动面组合起来使用。通过将2列滚子导轨平行地装配&#xff0c;使导轨系统能承受4个方向的负荷。而且&#xff0c;因能向交叉滚子导轨施加预压&#xff0c;从而能获得无间隙且高…

zookeeper单机安装

1 检查环境jdk 参考&#xff1a;https://blog.csdn.net/weixin_44098426/article/details/128446376 2 解压安装包 mkdir -p /opt/zookeeper mv /home/wh/software/zk/apache-zookeeper-3.5.7-bin.tar.gz /opt/zookeeper tar -xzvf apache-zookeeper-3.5.7-bin.tar.gz 3 配置…

在Windows环境下安装Elasticsearch 8.8.2

Elasticsearch是一种开源的分布式搜索和分析引擎&#xff0c;被广泛应用于构建实时搜索、日志分析、数据可视化等应用。本文将详细介绍如何在Windows环境下安装和配置Elasticsearch 8。 安装Elasticsearch 步骤1&#xff1a;准备工作 在开始安装之前&#xff0c;确保已满足以…

多元回归预测 | Matlab灰狼算法(GWO)优化极限梯度提升树XGBoost回归预测,GWO-XGBoost回归预测模型,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab灰狼算法(GWO)优化极限梯度提升树XGBoost回归预测,GWO-XGBoost回归预测模型,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源…

GPON MAC SFP ONU模块介绍与应用

伴随着网络通讯技术的发展&#xff0c;pon无源光网络正逐步走进人们的视野&#xff1b;在这之前你是否仅知道以太网接入&#xff1f;相比与以太网接入&#xff0c;pon作为一种点到多点网络&#xff0c;具有运维成本低、服务范围广、资源占用少等优势&#xff1b;我们最为熟知的…

CSS自学框架之漂浮提示(上方显示 底侧显示 右侧显示 左侧显示)

漂浮提示可以用较为隐藏的方式为用户提供帮助或引导信息&#xff0c;将鼠标移入文字内容后展示。 css代码&#xff1a; /* 浮漂提示框 */[myth-tag]{ position: relative }[myth-tag]:before, [myth-tag]:after{z-index: 1;opacity: 0;position: absolute;pointer-events: non…

LVS负载均衡集群之LVS-NAT集群

目录 一、什么是集群&#xff1f; 1.1、集群&#xff08;cluster&#xff09;的含义 1.2、问题 1.3解决方法 二、集群分类 2.1、负载均衡集群(Load Balance Cluster) 2.2、高可用集群(High Availability Cluster) 2.3、高性能运算集群 (High Performance Computer Clust…

企业服务器数据库被360后缀勒索病毒攻击后的正确处理方式

在数字化时代&#xff0c;企业服务器数据库的安全性至关重要。然而&#xff0c;即使采取了各种安全措施&#xff0c;仍然有可能遭受到360等后缀的勒索病毒网络攻击。近期&#xff0c;很多企业的云服务与物理服务器遭到了360后缀的勒索病毒攻击&#xff0c;导致企业内部数据库中…

能够ping通服务器的同时端口不通的排查方法

概述 当您在客户端访问目标服务器时&#xff0c;如果能ping通&#xff0c;但业务端口无法访问&#xff0c;您可以参见以下方法进行排查。 步骤一&#xff1a;实例安全组检查 1、登录ECS管理控制台&#xff0c;单击实例。 2、在顶部菜单栏左上角处&#xff0c;选择地域。 3、…

Visual Studio下2022Opencv的配置

Visual studio2022 opencv的配置 先从官网下载opencv &#xff1a; opencv releases 下载 ​ 我这里的开发环境是window版本&#xff0c;我们选择Windows版本进行下载 点开下载的文件&#xff0c;输入需要保存的路径 记住你保存的路径(我这里安装再F:) 安装需要时间静等安装…

修改Jeecg-boot context-path(附加图片+Nginx配置)

文章目录 需求描述解决方案前端后端Nginx 需求描述 前端框架采用的是ant design vue ,后端框架采用的是jeecg-boot,前端请求后端地址中包含jeecg-boot字样&#xff0c;想修改为其它的名字&#xff0c;修改方式如下 解决方案 前端 第一步 request.js文件路径&#xff1a;src…

2个好用的ftp和ssh工具推介

为什么不用xshell和xftp,是不好用吗&#xff1f;xshell和xftp虽然好用&#xff0c;而且也有免费版&#xff0c;但是&#xff0c;一个方面使用有限制&#xff0c;再就是你看见这个报错的弹窗烦不烦&#xff1f; 一、ssh工具-WindTerm WindTerm[1] 是一个基于 C 开发的开源终端模…

【Go】Go 语言教程--GO条件和循环语句(八)

往期教程&#xff1a; Go 语言教程–介绍&#xff08;一&#xff09;Go 语言教程–语言结构&#xff08;二&#xff09;Go 语言教程–语言结构&#xff08;三&#xff09;Go 语言教程–数据类型&#xff08;四&#xff09;Go 语言教程–语言变量&#xff08;五&#xff09;Go …