Python基础语法【5】—— 结构数据类型之元组

2023-10-31



元组概念:

  元组和列表类似,也是由一系列按特定顺序排序的元素组成的,但是它和列表的区别在于,列表的元素是可以后期进行修改的,包括对列表进行插入,删除,修改等一系列的操作,而反观元组,它一旦被创立,元素就不可以被改变了,所以元组是不可变序列,因此,元组通常下被用来保存无需修改的内容。
  
元组表示:

(element1, element2, element3, …, elementn)

  存储内容可以是整数,字符串,列表,元组等任何类型的数据,并且在同一元组中,元素的类型可以不同
  
元组类型:

  可以通过type()函数查看,元组是tuple类型
在这里插入图片描述


一.创建元组

  

1.使用()直接创建元组

语法结构:

tuplename = (element1, element2, ..., elementn)


如下所示的元组都是合法的

tuple1 = (1, 12, 22, 24, 44)
tuple2 = (“hello”, “Python”)
tuple3 = (“Python”, (1, 2), {‘c’, 2.0})

  在Python中,元组不用小括号括起来,只要将各个元素之间用逗号隔开,Python就会将其视为元组,如下所示:

例:

tuple1 = "hello", "Python", 1, 2
print(tuple1, type(tuple1))

运行结果:
在这里插入图片描述
  但是要注意,当在使用这种方法创建元组时,若是创建的元组只是包含一个字符串类型/一个整型/一个浮点型的元素时,该元素后面就必须加上一个逗号,如果不加逗号,解释器就会将它视为该单个元素对应的数据类型

例:

tuple2 = (1.2,)
tuple3 = (1.2)
print(tuple2, type(tuple2))
print(tuple3, type(tuple3))

tuple4 = ("hello",)
tuple5 = ("hello")
print(tuple4, type(tuple4))
print(tuple5, type(tuple5))

运行结果:
在这里插入图片描述  
  

  
  

2.使用tuple()函数创建元组

语法格式:

tuple(data)


例:

tup1 = tuple("hello")
print(tup1)

# 将集合转换成元组
set1 = {'hello', 'hi', 1, 1.2}
tup2 = tuple(set1)
print(tup2)

# 将列表转换为元组
list1 = ['Python', 'Java', 'C++', 'JavaScript']
tup3 = tuple(list1)
print(tup3)

# 创建空元组
print(tuple())

运行结果:
在这里插入图片描述



二.访问元组元素

  和列表一样,访问元组的方式有两种,可以使用索引的方式访问元组的某个元素,也可以使用切片方式访问元组中的一组元素

1.使用索引方式访问

语法结构:

tuplename[index]

index表示索引下标,可以是正数,也可以是负数

例:

tuple1 = (1, 2, "Python", [1, 2])
print(tuple1[1], tuple1[-1])

运行结果:
在这里插入图片描述

2.使用切片方式访问

语法结构:

tuplename[start:end:step]   # step表示步长


例:

tuple1 = tuple("https://blog.csdn.net/lilililililiki")
print(tuple1[0:10:2])
print(tuple1[-4:-1])

运行结果:
在这里插入图片描述



三.修改元组元素

  元组是不可变序列,所以其中的元素是不可以被修改的,只能用一个新的元组去替换原来的元组,或者使用+拼接元组

1.对元组重新进行赋值

例:

tuple1 = tuple("https://blog.csdn.net")
print(tuple1)

# 对元组进行重新赋值
tuple1 = (10, 20, 1.2, "hello")
print(tuple1)

运行结果:
在这里插入图片描述

2.使用+拼接元组

例:

tuple1 = ("Python", 200)
tuple2 = (10, 20, 1.2, "hello")
print(tuple1 + tuple2)

运行结果:
在这里插入图片描述
  注意拼接后的元组是生成了一个新的元组,拼接的两个元组内容并没有改变

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python基础语法【5】—— 结构数据类型之元组 的相关文章

  • 如何将base64字符串直接解码为二进制音频格式

    音频文件通过 API 发送给我们 该文件是 Base64 编码的 PCM 格式 我需要将其转换为 PCM 然后再转换为 WAV 进行处理 我能够使用以下代码解码 gt 保存到 pcm gt 从 pcm 读取 gt 保存为 wav decod
  • 切片稀疏(scipy)矩阵

    我将不胜感激任何帮助 以理解从 scipy sparse 包中切片 lil matrix A 时的以下行为 实际上 我想根据行和列的任意索引列表提取子矩阵 当我使用这两行代码时 x1 A list 1 x2 x1 list 2 一切都很好
  • 从Python中的字符串中提取货币金额

    我正在制作一个程序 从字符串中获取货币并将其转换为其他货币 例如 如果字符串是 the car cost me 13 250 我需要得到 and 13250 我已经有了这个正则表达式 1 确实如此 但是该字符串很有可能有多个价格 并且全部使
  • Python 2.7 将比特币私钥转换为 WIF 私钥

    作为一名编码新手 我刚刚完成了教程 教程是这样的 https www youtube com watch v tX XokHf nI https www youtube com watch v tX XokHf nI 我想用 1 个易于阅读
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • numpy 使用 datetime64 进行数字化

    我似乎无法让 numpy digitize 与 datetime64 一起使用 date bins np array np datetime64 datetime datetime 2014 n 1 s for n in range 1 1
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • 使用 scipy curve_fit 拟合噪声指数的建议?

    我正在尝试拟合通常按以下方式建模的数据 def fit eq x a b c d e return a 1 np exp x b c np exp x d e x np arange 0 100 0 001 y fit eq x 1 1 1
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813
  • 与 while 循环一样,如何跳过 for 循环中的步骤?

    我尝试像 while 循环一样跳过 for 循环中的几个步骤 在 while 循环中 步骤根据特定条件进行调整 如下面的代码所示 i 0 while i lt 10 if i 3 i 5 else print i i i 1 result
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • Python 惰性迭代器

    我试图了解迭代器表达式如何以及何时被求值 以下似乎是一个懒惰的表达 g i for i in range 1000 if i 3 i 2 然而 这个在构造上失败了 g line strip for line in open xxx r if
  • 如何使用 paramiko 查看(日志)文件传输进度?

    我正在使用 Paramiko 的 SFTPClient 在主机之间传输文件 我希望我的脚本打印文件传输进度 类似于使用 scp 看到的输出 scp my file user host user host password my file 1
  • 使用 numpy 在 python 中执行最大方差旋转

    我正在研究矩阵的主成分分析 我已经找到了如下所示的组件矩阵 A np array 0 73465832 0 24819766 0 32045055 0 3728976 0 58628043 0 63433607 0 72617152 0 5
  • Pandas style.bar 颜色基于条件?

    如何渲染其中一列的 Pandas dfstyle bar color属性是根据某些条件计算的 Example df style bar subset before after color ff781c vmin 0 0 vmax 1 0 而
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • 如何使用 matplotlib 为圆柱体的每个单独面添加颜色

    我正在尝试为圆柱体的每个面着色 但是我不确定如何进行 我尝试了以下方法 for i in range 10 col append for i in range 10 for j in range 20 col i append plt cm
  • 在 virtualenvwrapper 中激活环境

    我安装了virtualenv and virtualenvwrapper用这个命令我创建了一个环境 mkvirtualenv cv 它有效 创建后我就处于新环境中 现在我重新启动了我的电脑 我想activate又是那个环境 但是怎么样 我使
  • Pandas - 合并数据框以将所有值保留在左侧,如果“左侧没有键”,则从右侧“插入”值,否则“更新”左侧现有的“键”

    我有两个数据框 df1 和 df2 np random seed 0 df1 pd DataFrame key A B C D id 2 23 234 2345 2021 np random randn 4 df2 pd DataFrame

随机推荐

  • (Jquery 功能篇) Jquery ajax异步加载

    1 前段页面效果 2 前段页面代码 html view plain copy print
  • Python:货币转换(写一个程序进行人民币和美元货币之间的币值转换)

    题目四 代码 n input 请输入带有标志 RMB USD 的钱数 if n 3 in RMB u eval n 3 6 78 print USD 2f format u elif n 3 in USD r 6 78 eval n 3 p
  • Linux进阶_文本处理工具AWK

    成功不易 加倍努力 文本处理三剑客之 awk 1 awk 工作原理和基本用法说明 2 动作 print 3 awk变量 4 动作 printf 5 操作符 6 模式PATTERN 7 条件判断 if else 8 switch语句 9 循环
  • 2.4 C++ 初始化列表

    class内部 初始化有两种方式 1 构造函数 2 初始化列表 Test int num const char ptr 1 构造函数 this gt m num num Test int num const char ptr m num n
  • 计算机科学与因果关系,因果关系,概率和时间

    计算机 国外科技新书评介 2015年第2期 总第334期 Samantha Kleinberg Causality Probability and Time 2013 Hardback P ISBN978 1 07026483 CAMBRI
  • 使用Fiddler提高前端工作效率 (介绍篇)

    使用Fiddler提高前端工作效率 介绍篇 2010 04 18 by 前端 qhwa 评论 13 前端开发 摘自 http www aliued cn 2010 04 18 use fiddler to improve efficienc
  • APP UI自动化测试常见面试题,或许有用呢~

    1 Android APP 内存不足时 如何获得内存 系统优先结束被挂起 暂停 的进程 释放内存 2 APP 测试常见问题有哪些 原因有哪些 常见的有 crash ANR 应用无响应 卡死 一般由设备碎片化 网络波动大 内存泄漏 代码编写错
  • 华为OD机试 -最小叶子节点(Java)

    题目描述 二叉树也可以用数组来存储 给定一个数组 树的根节点的值储存在下标1 对于储存在下标n的节点 他的左子节点和右子节点分别储存在下标2n和2n 1 并且我们用 1代表一个节点为空 给定一个数组存储的二叉树 试求从根节点到最小的叶子节点
  • protoc 同时编译多个.protoc文件

    官方的示例 只是编译一个文件的命令行 protoc proto path IMPORT PATH cpp out DST DIR java out DST DIR python out DST DIR go out DST DIR ruby
  • Navicat16连接Oracle报错:Oracle library is not loaded

    1 有时候我们在用navicat的时候连接oracle的时候 它会提示我们Oracle library is not loaded 这时候我们要首先验证本机上是否已安装oracle的客户端 如果已安装客户段 navicat中的oci dll
  • 什么是MMU,MMU的作用

    I 什么是MMU MMU的作用 MMU是Memory Management Unit的缩写 针对各种CPU MMU是个可选的配件 MMU负责的是虚拟地址与物理地址的转换 提供硬件机制的内存访问授权 现在的多用户多进程操作系统 需要MMU 才
  • element ui菜单导航栏的动态创建

  • mysql的dba是什么意思_【数据库】mysql dba是什么意思?

    MySQL DBA意思是MySQL数据库管理员 DBA就是数据库管理员的意思 要成为MySQL DBA 不是会哪些东西的问题 而是一定要对MySQL数据库方方面面都得非常精通才行 DBA的职责是 安装和升级数据库服务器 以及应用程序工具 数
  • 前端关于单点登录SSO的知识

    转自前端关于单点登录的知识 什么是单点登录 单点登录 Single Sign On 简称为 SSO 是目前比较流行的企业业务整合的解决方案之一 SSO的定义是在多个应用系统中 用户只需要登录一次就可以访问所有相互信任的应用系统 SSO一般都
  • 前端 HTML空格的六种方式

    HTML提供了5种空格实体 space entity 它们拥有不同的宽度 非断行空格 是常规空格的宽度 可运行于所有主流浏览器 其他几种空格 在不同浏览器中宽度各异 它叫不换行空格 全称No Break Space 它是最常见和我们使用最多
  • Android项目混淆ProGuard详解

    关于混淆 可以借助工具proguardgui bat来了解或者写混淆文件 proguardgui bat是谷歌提供的可视化混淆文件编写工具 proguardgui bat位于android sdk 的tools proguard bin目录
  • python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)

    导读 这篇文章主要介绍如何利用opencv来对图像添加各类噪声 原图 1 高斯噪声 高斯噪声就是给图片添加一个服从高斯分布的噪声 可以通过调节高斯分布标准差 sigma 的大小来控制添加噪声程度 sigma越大添加的噪声越多图片损坏的越厉害
  • 新华三数字化转型与实践 附下载地址

    随着数字技术 智能技术的持续发展 市场环境的不断变化 百行百业相继进入了数字化转型的深水区 这是时代发展的必然 更是建设繁荣数字经济的基础 因此 如何进行数字化转型便成为百行百业需要共同面对的问题 作为数字化解决方案领导者 新华三自身的数字
  • 【高频java面试题】JVM的底层结构

    1 问 说说JVM的底层结构 从左图可知 JVM主要包括四个部分 1 类加载器 ClassLoader 在JVM启动时或者在类运行时将需要的class加载到JVM中 右图表示了从java源文件到JVM的整个过程 可配合理解 关于类的加载机制
  • Python基础语法【5】—— 结构数据类型之元组

    文章目录 一 创建元组 1 使用 直接创建元组 2 使用tuple 函数创建元组 二 访问元组元素 1 使用索引方式访问 2 使用切片方式访问 三 修改元组元素 1 对元组重新进行赋值 2 使用 拼接元组 元组概念 元组和列表类似 也是由一