python 3.6.5

元组的特性和定义

与列表类型 只不过 [  ] 改成了()

特性:

  1.不可变(元组本身不可变,但是可以存可变类型的element){猜测因为可变element的地址不可变而存在元组里面也只是地址而已:例如:list dict 等}

  2.可存放多个值

  3.按照从左到右的顺序定义元组元素,下表从0,开始顺序访问。有序

  #解释为什么要有不可变的元组出现呢?

创建:

  ages=tuple()

  ages=()

  ages=1, #注意以逗号隔开,默认为元组

  ages=( 1 , )#注意,元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义

  ages=(11,22,33,44)

  ages=tuple((11,22,33,44))

tuple_list=(v for v in range(1,8))#生成器表达式print(tuple_list,type(tuple_list))tup=tuple(tuple_list)print(tup,type(tup))>>:<generator object <genexpr> at 0x0000000001EC18E0> <class 'generator'>>>:(1, 2, 3, 4, 5, 6, 7) <class 'tuple'>

常用操作:

  索引 #正向取 和 反向取 :只能取

  循环 for in 可迭代循环

  长度 len()

  成员运算 in 和 not in

  切片:顾头不顾尾,步长 ,反向步长

  元组运算符 + 和 *   但是得到的是新tuple

  统计个数:tuple.count(' 出现了几次')#没有返回0

  返回索引:tuple.index('要查找的element') #找不到会报错

  

和列表 差不多 可以去看列表相关操作或者字符串https://www.cnblogs.com/yanxiatingyu/p/9277115.html

tup = (1, 2, ['a', 'b', 'c'], 'd', 'e', ('gu', 'tang'))

print ("tup[0] =",tup[0]) # 打印索引为0的元素
#输出结果
tup[0] = 1

print ("tup[1:] =",tup[1:]) #从索引为1到最后一个元素
#输出结果
tup[1:] = (2, ['a', 'b', 'c'], 'd', 'e', ('gu', 'tang'))

print ("tup[:-1] =",tup[:-1]) # 到倒第二个元素但不包含第二个
#输出结果
tup[:-1] = (1, 2, ['a', 'b', 'c'], 'd', 'e')

print ("tup[1::1] =",tup[1::1]) # 等价于tup[1:] 从左到右一个个去取,步长为1
#输出结果
tup[1::1] = (2, ['a', 'b', 'c'], 'd', 'e', ('gu', 'tang'))

print ("tup[1::2] =",tup[1::2]) #从左到右隔一个去取 步长为2
#输出结果
tup[1::2] = (2, 'd', ('gu', 'tang'))

print ("tup[::-1]",tup[::-1]) # 反向输出 步长为1
#输出结果
tup[::-1] (('gu', 'tang'), 'e', 'd', ['a', 'b', 'c'], 2, 1)

print ("tup[::-2]",tup[::-2]) # 反向输出 步长为2(隔一个去取))
#输出结果
tup[::-2] (('gu', 'tang'), 'd', 2)

八、元组内置函数Python元组包含了以下内置函数1、cmp(tuple1, tuple2):比较两个元组元素。2、len(tuple):计算元组元素个数。3、max(tuple):返回元组中元素最大值。4、min(tuple):返回元组中元素最小值。5、tuple(seq):将列表转换为元组

关于元组不可变
lis = [1, 2, 3]tup = (1, 2, 3, 4, lis)print(tup)# (1, 2, 3, 4, [1, 2, 3])tup[4][1] = '元素改变了'print(tup)# (1, 2, 3, 4, [1, '元素改变了', 3])
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

转载于:https://www.cnblogs.com/yanxiatingyu/p/9278175.html

python 数据类型 之 tuple 元组相关推荐

  1. pythontuple数据类型_Python数据类型之Tuple元组实例详解

    本文实例讲述了Python数据类型之Tuple元组.分享给大家供大家参考,具体如下: tuple元组 1.概述 本质上是一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用()表示. 特点:一 ...

  2. 学习Python(5)排序tuple元组dict字典set集合

    目录 学习Python(5)排序&tuple元组&dict字典&set集合 排序 冒泡排序 选择排序 元组 创建元组 元组元素的访问 元组操作 元组功能 二维元组 字典 创建字 ...

  3. python输入123输出321的编程_第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出...

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  4. java 元组 getinteger_TS数据类型:从C++/Java/Python到TS看元组tuple—元组的来龙去脉...

    在C++有Java这种强类型语言中,常用的Array.List.Set ,在集合中只能是一种类型(可以复习下:<再谈Java数据结构-分析底层实现与应用注意事项). int data[] = n ...

  5. Python序列 数据类型 创建方式 Tuple元组 Str字符串 List列表 dict字典 Set集合 range,zip,map,enumerate

    Python 序列分类 数据类型 详细介绍 Python 主要数据类型: 元组Tuple, 字符串Str,列表List,字典Dict,集合Set 对比 元组Tuple 字符串Str 列表List 字典 ...

  6. 【Python】数据类型 Number数字、String字符串、List列表、Tuple元组、Set集合、Dictionary字典

    Python数据类型 2021/6/3 周四 学习内容: Python数据类型.Number(数字).String(字符串).List(列表).Tuple(元组).Set(集合).Dictionary ...

  7. python数据类型——字典表dictionary和元组tuple基本操作举例

    python数据类型--字典表dict和元组tuple基本操作举例 * 字典表dict 1. 字典表dict的声明 * --------- ① 花括号{} 声明法 * --------- ② dict ...

  8. Python数据类型:序列(字符串str、列表list、元组tuple、字典dict、范围range) 和集合set

    一:序列 序列sequence是多个值组成的一个整体,Python中的序列包含列表list.元组tuple.范围range.字符串str,集合set不属于序列. 二:字符串str 2.1原始字符串 r ...

  9. Python第三、四种数据类型——List(列表) and Tuple(元组)

    目录 一. List(列表) 1.定义一个 List 2. 对 List 进行截取(大致方法与String的截取类似) 3. 添加一个元素,使用 append() 方法 4.删除一个元素,使用 pop ...

最新文章

  1. 在纸上写好一个c语言程序后,上机运行的基本步骤为,c基本概念(选择题).docx
  2. FZU 1901 Period II(KMP中的next)题解
  3. 应用化学:从二氯甲烷到四氯化碳
  4. dropout的正则化理解
  5. ELF Format 笔记(七)—— 符号表
  6. 注册登录页面代码用js判断是否填入信息_php实现登录功能
  7. Python开发中有可能遇到的套接字重复使用错误
  8. Bootstrap 基础五表格
  9. 虚拟环境下配置拨号接入的×××
  10. Spring的ioc操作 与 IOC底层原理
  11. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_7_静态同步方法...
  12. aode matlab程序,三大计算机视觉和机器学习库的算法汇总
  13. 服务器怎么关闭终端依然运行node,关闭控制台后如何永久运行node.js应用程序?...
  14. id nfc模拟_模拟门禁卡: NFC卡模拟 v3.1.5 清爽版
  15. GRE阅读-GRE佛脚备考系列之阅读分册volume 2-机经练习(1)
  16. memcache客户端命令
  17. html遇到英文单词整体换行,HTML在table中如何强制单词换行
  18. 文本相似度算法对比分析,短文本相似度主流算法
  19. JavaScript Dom编程艺术(第二版)读书笔记 第三章DOM
  20. python爬虫实战-如何批量爬取唯品会商品信息>>>

热门文章

  1. 什么是BIOS?BIOS是什么
  2. 《精通Spring MVC 4》——1.3 start.Spring.io简介
  3. vs2012如何为进行单元测试
  4. 不要在变量名的旁边加echo和.br;
  5. MVC工作中的笔记~2(架构师是一步一步练成的)
  6. 数据绑定--Repeater, DataList, or GridView?
  7. python编码规范总结、python编码转换
  8. cmake2 配合1
  9. 进程栈大小 与 线程栈大小-转
  10. GCC 版本下载地址,这里比较全,gcc版本一定要对应,不然就会各种不兼容依赖,把人折腾疯了