python中Tuple详解

2023-05-16

python中Tuple详解

另外, 还有一个和list 很像的数据tuple.中文叫元组.他和list的主要区别就是, tuple是一开始就定义好的, 即, assign first,之后就永远不能被改变了. 所以, 一般全局比较重要的数据,我们都是使用tuple进行存放的.

(一)我们来创建一个Tuple

创建一个Tuple 通常来说,Tuple是放在parentheses 即, 圆括号() 内部.

>>> tub = (1,2,3)
>>> type(tub)
<class 'tuple'>
复制代码

不过, 最近很流行的是 without parentheses. 即, 不加括号的方式. show:

>>> tub = 1,2,3
>>> type(tub)
<class 'tuple'>
复制代码

这个名叫, tuple packing. 个人翻译为元组包. 不过在, 使用tuple的时候,需要注意,只有一个元素的tuple的创建(md,一个元素你还创建tuple干嘛,浪费内存?)一个元素的tuple创建, 需要在末尾+, 进行相关标识

>>> tub = 1,
// 或者
>>> tub = (1,)
>>> type(tub)
<class 'tuple'>
复制代码

如果,你想访问tuple的话, 和访问list 是一个道理

>>> tub = (1,2,3,4,5,6,7)
>>> tub[0]
1
//当然,你也可以取负值
>>> tub[-1]
7
复制代码

所以,这里我们也可以使用for...in...进行 遍历.

(二):不变的Tuple

一般创建了一个tuple, 之后你就用于无法改变他的值了, 也就是你不能删除,或者添加。不过,如果你的tuple里面放一些可变的内容的话, 比如,list的话,那情况就不一样了。基于这一点,我们理解tuple 应该说为 shallow不变形。即,不能改变值类型,但可以改变引用类型.

>>> tup
(1, 2, 3, [2, 3], 5)
>>> tup[3]
[2, 3]
>>> tup[3].append(1)
>>> tup
(1, 2, 3, [2, 3, 1], 5)
//删除tup, 会报错
>>> del tup[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion
复制代码

虽然,我们不能对tuple执行CD操作, 但相关的查询方法我们还是可以使用的

(三):Tuple 查询

在tuple里面有两个查询方法, index和count, 另外你使用in也是没有问题的

>>> my_tuple = ('a','p','p','l','e',)
>>> my_tuple.count('p')
2
>>> my_tuple.index('l')
3
>>> 'a' in my_tuple
True
复制代码

同样, 关于list的一些built-in methond. 在tuple身上也是使用的, 有 max,min,sum,all,any,len,sorted. 这几个, 都是木有问题的

总结一下: tuple方法什么时候我们用Tuple? tuple就是用来放不变的数据,并且tuple在内部中有遍历加速(因为不变).


转载于:https://juejin.im/post/5cacb70df265da03981fa8e4

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

python中Tuple详解 的相关文章

  • 如何恢复tensorflow inceptions检查点文件(ckpt)?

    I have inception resnet v2 2016 08 30 ckpt文件是预先训练的初始模型 我想使用恢复这个模型 saver restore sess ckpt filename 但为此 我将需要编写训练该模型时使用的变量
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • 如何计算 pandas datetime 对象的均值和方差?

    如何计算 YYYY MM DD 形式的 python 日期时间对象的汇总统计数据 均值和标准差 我想对具有不同 ID 的不同日期时间对象组执行此操作 数据如下 import datetime as dt df pd DataFrame Da
  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • Django Rest Framework 是否有第三方应用程序来自动生成 swagger.yaml 文件?

    我有大量的 API 端点编写在django rest framework并且不断增加和更新 如何创建和维护最新的 API 文档 我当前的版本是 Create swagger yaml文件并以某种方式在每次端点更改时自动生成 然后使用此文件作
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac

随机推荐

  • PHP十进制数字转换为26进制字母函数

    很久以前为导出EXCEL写过一个字母累加的函数 xff0c 今天追加一个数字转为字母的 也就是十进制转26进制 1234567891011121314151617 for i 61 1 i lt 200 i 43 43 echo i 39
  • SVG.js 元素操作整理(一)

    一 属性操作Attributes var draw 61 SVG 39 svg1 39 size 300 300 attr 属性操作 设置属性的值 var rect 61 draw rect 100 100 rect attr 39 x 3
  • JS 比较两个数组是否相等 是否拥有相同元素

    Javascript怎么比较两个数组是否相同 xff1f JS怎么比较两个数组是否有完全相同的元素 xff1f Javascript不能直接用 61 61 或者 61 61 61 来判断两个数组是否相等 xff0c 无论是相等还是全等都不行
  • Win11 安卓子系统安装过程

    1 环境要求 xff1a 系统为windows 11版本为22000 xx或者以上版本 xff1b 建议系统内存为16G或者以上 xff1b 2 安装windows虚拟化支持 功能 进入设置 应用 可选功能 更多 Windows 功能 xf
  • java 取小数点后两位 不四舍五入,怎么做

    java 取小数点后两位 不四舍五入 怎么做 正常版 正常版 import java text DecimalFormat import java math RoundingMode DecimalFormat formater 61 ne
  • 华为硬件研发笔试题

    华为硬件笔试题1 一 选择 13个题目 没有全部抄下来 涉及的课程有电路 模拟电路 数字电路 信号与系统 微机原理 网络 数字信号处理 1 微分电路 2 CISC RISC 3 数据链路层 二 填空 10个题目 没有全部抄下来 涉及的课程有
  • es6数组去重(连重复的对象也可以去掉)

    1 xff0c 去除简单类型 ES6中新增了Set数据结构 xff0c 类似于数组 xff0c 但是 它的成员都是唯一的 xff0c 其构造函数可以接受一个数组作为参数 xff0c 如 xff1a span class hljs built
  • MySQL中varchar,varbinary的区别

    2019独角兽企业重金招聘Python工程师标准 gt gt gt MySQL中varchar xff0c varbinary的区别 varchar是可变长度字符类型 如果对应的数据库排序规则是utf8 general ci xff0c 那
  • 是谁发明了光纤?光纤的发明发展历史

    一 光纤通信的发展历史 1880年 xff0c 亚历山大 贝尔Alexander Graham Bell发明了 光话机 1887年 xff0c 英国科学家Charles Vernon Boys在实验室里拉出了第一条光纤 1938年 xff0
  • vs 2010 专业版 密钥

    YCFHQ 9DWCY DKV88 T2TMH G7BHP 转载于 https www cnblogs com daretodream archive 2013 04 02 2995147 html
  • 公历,阴历转换

    公历 xff0c 阴历转换 static inline void ValidCtrCheck ThsDivineCalendar new ThsDivineCalendar NULL fastcall ThsDivineCalendar T
  • pytorch---情感分析

    前言 xff1a 这个系列一共有8个部分 主要参考了github上的几个代码 使用工具有torchtext xff0c pytorch 数据集主要是烂番茄电影评论数据集https www kaggle com c sentiment ana
  • 【three.js练习程序】旋转物体自身

    lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt title gt ceshi lt title gt lt script type
  • Linux系统检查查看桌面环境

    Linux的桌面系统系统多达十几种 xff0c 像gnome kde mate cinnamon lxde xfce jwm等 比较常用的一般是gnome kde xfce等 那么如何判断Linux系统安装了哪种桌面环境组件呢 xff1f
  • Ubuntu18.04.4 安装xrdp 远程桌面

    因为工作的关系 xff0c 需要远程桌面使用Linux xff0c 安装了最新的Ubuntu18 04 4版本 参考了网上一堆的VNC和安装xubuntu等 xff0c 都不是自己想要的 xff0c ubuntu原生的桌面就非常的好 只是安
  • 小米手机android_id如何查看,一篇文章看懂如何通过手机上小米社区查Mi ID?

    作为小米社区的老用户都知道 xff0c 早先在老的小米社区App或者电脑版个人主页就可以直接查看到用户的Mi ID 而现在的新版本小米社区无论是App版本或者电脑端都无法再直接地查看到个人或者其他人Mi ID 本期Flashcer就和大家分
  • 使用寄存器点亮LED——编程实战

    stm32的编程和stc89c51还是存在着很多思想上的不同的 xff0c 在51单片机中 xff0c 我们点亮LED灯 xff0c 只用给对应IO高低电平就可以了 xff0c 而stm32中 xff0c 就一个简单的GPIO xff0c
  • 【转载】取消Debian系统自动锁屏

    Linux的自动锁屏功能 xff0c 会在你离开屏幕的两分钟 xff0c 甚至更短的时候内 xff0c 将屏幕锁住 xff0c 需要输入密码才能进入Linux系统 可按下图设置 xff0c 关掉Linux自动锁屏功能 System gt P
  • 如何cout输出CString对象?

    CString str 61 34 HeyLook 34 char pch 61 new char str GetLength 43 1 pch 61 str GetBuffer str GetLength 43 1 str Release
  • python中Tuple详解

    python中Tuple详解 另外 还有一个和list 很像的数据tuple 中文叫元组 他和list的主要区别就是 tuple是一开始就定义好的 即 assign first 之后就永远不能被改变了 所以 一般全局比较重要的数据 我们都是