元组(Tuple) 元组是有序且不可变序列(不可以进行增、删、改操作),可以以id的变化判断是否是可变序列。

        可变序列有列表、字典。如果进行增、删、改操作,id是不会变化。

例:         tup = ('hello', 'python',98)

                                 tup —》元组名             (   )—》定界符

一、创建

1.直接用小括号

tup = ('hello', 'python', 98)
num = 'hello', 'python', 98 #可以省略小括号
print(tup, type(tup))
print(num, type(num))

('hello', 'python', 98)        <class 'tuple'>

('hello', 'python', 98)        <class 'tuple'>

二、内置函数tuple()

tup = tuple(('hello', 56, 52))
print(tup)

【注】1.使用tuple()函数需要再加一个小括号(多元素),因为tuple()函数只能有一个元素。

2.使用内置函数方便类型转换.

3.创建只有一个元素的元组

1.

t = (10,)
print(t, type(t))

(10,) <class 'tuple'>

2.

t = 'hello' ,
print(t, type(t))

(hello,) <class 'tuple'>

【注】必须在元素后面键逗号,否则会返回元素本身的数据类型。

三、遍历

1.索引

tup = (12, 56, 'hello' ,52)
print(tup[0])
print(tup[1])

12

56

【注】索引不要知道元素的个数,不可以存在越界 。

2.使用for()循环

tup = (12, 56, 'hello' ,52)
for item in tup:print(item, end = ' ')

12 56 hello 52

四、为什么是不可变序列

1.多个对象同时访问一个元素不用加锁,只允许一个对象访问并且修改,其余对象只能访问不可以修改。

【注意】

1.如果元组中对象不可变,则不能在引用其他对象。

2.如果元组中是可变对象,则可变对象的引用不允许改变,但数据可以改变。

总结:元组本身是不可变的,每个元素也不可变时,时不能对元组进行操作的。如果元组中的对象时可变的对象,则可变对象的引用不可以改变,但数据可以改变(可以改变值,不可改变元素对象属性)。如下图:

python详解元组数据结构相关推荐

  1. python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...

    本文源自微信公众号[Python编程和深度学习]原文链接:经典排序算法和Python详解之(一)选择排序和二元选择排序,欢迎扫码关注鸭! 扫它!扫它!扫它 排序算法是<数据结构与算法>中最 ...

  2. python input与返回值-Python 详解基本语法_函数_返回值

    Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令 ...

  3. map函数的用法python,详解Python map函数及Python map()函数的用法

    python map函数 map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list ...

  4. qpython能使用json吗l_[python] 详解Python在使用JSON时需要注意的编码问题

    Python 中的字符编码 在 Python3 中, 字符 在内存中是使用 Unicode 存储的, 常规的字符使用 两个字节 表示, 一些很生僻的字符就需要 四个字节. 默认使用 Unicode 存 ...

  5. 名片管理系统python详解_详解Python做一个名片管理系统

    详解Python做一个名片管理系统 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python做一个名片管理系统.txt ] (友情提示:右键点上行txt文 ...

  6. python 快速排序 详解_数据结构与算法:快速排序(原理讲解+python实现)

    快速排序 快速排序是一种基于分治法(Divide and Conquer)的排序算法 它之所以称为快速排序是因为它的平均时间复杂度为O(nlogn),最坏情况下是O(n2) 但是这样的情况不常见 一般 ...

  7. 名片管理系统python详解_Python综合应用名片管理系统案例详解

    本文实例讲述了Python综合应用名片管理系统.分享给大家供大家参考,具体如下: 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎 ...

  8. 使用Swig转C++为Python详解

    Swig是一个可以使得不同语言之间可以相互调用的工具,今天记录一下使用Swig将C++转为Python的方法. 首先从官网下载Swig,官网网址www.swig.org,下载后解压压缩包,并将swig ...

  9. 一看就懂!【英雄联盟锐雯】与 Python 详解设计模式之门面模式

    [网络配图] 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结.使用设计模式的目的:为了代码可重用性.让代码更容易被他人理解.保证代码可靠性.设计 ...

最新文章

  1. 一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡
  2. python 爬虫ip代理
  3. Win Phone 8 实现页面导航
  4. 训练好的神经网络 如何预测_显存不够,如何训练大型神经网络?
  5. 操作系统的实现(0)
  6. 一个JSON字符串和文件处理的命令行神器jq,windows和linux都可用
  7. Hammer.js移动端触屏框架的使用
  8. 小心DLL链接静态库时的内存错误
  9. less简介、less安装、编译、less语法之变量、嵌套、类混入、函数混入、运算、less文件导入
  10. ubuntu Django mysqlclient的问题
  11. 100+诡异的数据集,20万Eclipse Bug、死囚遗言等
  12. c语言如何将8个字符串串联_C ++中的字符串串联:串联字符串的4种方法
  13. 贵安新区生物医学大数据中心揭牌成立
  14. (四)Loadrunner 代理录制
  15. 一次对天翼安全网关的渗透
  16. 帧定格(用于定格画面添加字幕或者图片)
  17. 黑马 - poi Excel
  18. Android优化篇之布局优化
  19. 图解电动汽车:电动汽车电控系统
  20. SQL入门经典第5版(Sams Teach Yourself SQL in 24 Hours, 5th)随书习题的建表和插入

热门文章

  1. 关于git push origin master 提交报错
  2. linux虚拟机使用NAT模式联网
  3. 图片自适应,且不超过原始大小,需要设置最大宽度
  4. 基于FPGA的数字时钟(使用vivado)
  5. linux基本功系列之fdisk命令实战
  6. 对 eval(‘new Image().src=....ment.cookie) 的理解
  7. 基于多种群机制的PSO算法(优化与探索三 *混合种群思想优化多种群与广义PSO求解JSP)
  8. Paloalto-通过NPS(radius)的记账功能实现用户识别
  9. Android自动连接指定的WiFi热点
  10. 【云原生etcd】etcd的快速入门