元祖python_Python-数据类型-元祖
数据类型-元祖
元祖 是 python 不可变数据类型之一, 元祖由一对()包裹,括号类元素用逗号分隔,元素可以是不同的数据类型,空元祖 可以直接使用一对()号定义,如果元祖只有一个元素,则在元素后面必须加上逗号 例如 ('a',)。
1. 特点
元祖是不可变数据类型
元素是有序的序列
元祖也支持索引和切片
相对于列表占用的空间更小
示例
# 多个数据元组
t1 = (10, 20, 30)
# 单个数据元组
t2 = (10,)
# 空元祖
t3 = ()
# 特殊定义
t4 = 1,2,3,4
print(type(t4))
#
如果定义的元组只有一个数据,那么这个数据后面也要添加逗号,否则为直接当成()运算符使用
t2 = (10,)
print(type(t2)) # tuple
t3 = (20)
print(type(t3)) # int
t4 = ('hello')
print(type(t4)) # str
元祖的常见操作
按下标查找数据
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1[0]) # aa
index(): 查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.index('aa')) # 0
count(): 统计某个数据在当前元组出现的次数
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.count('bb')) # 2
len(): 统计元组中数据的个数。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(len(tuple1)) # 4
元组内的直接数据如果修改则立即报错
tuple1 = ('aa', 'bb', 'cc', 'bb')
tuple1[0] = 'aaa'
TypeError: 'tuple' object does not support item assignment
如果元组里面有列表,修改列表里面的数据则是支持的,故自觉很重要
tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
print(tuple2[2])
# 结果: ['aa', 'bb', 'cc']
tuple2[2][0] = 'aaaaa'
print(tuple2)
# 结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)
3. namedtuple()
namedtuple 是 python 的内置模块 collections提供的创建命名元组子类的工厂函数,可以使用名称来访问元素的数据对象
from collections import namedtuple
BookTuple = namedtuple("Book", ['name', 'price', 'author'])
book = BookTuple('红楼梦', 23, '曹雪芹')
print(book.name, book.price, book.author)
# 结果: 红楼梦 23 曹雪芹
books = [
('百年孤独', 30, '加西亚.马尔克斯'),
('树上的男爵', 35, '伊塔洛·卡尔维诺'),
('那不勒斯四部曲', 76, '埃莱娜·费兰特')
]
BookTuple = namedtuple("Book", ['name', 'price', 'author'])
for book in books:
book = BookTuple._make(book)
print(book.name, book.price, book.author)
"""
百年孤独 30 加西亚.马尔克斯
树上的男爵 35 伊塔洛·卡尔维诺
那不勒斯四部曲 76 埃莱娜·费兰特
"""
元祖python_Python-数据类型-元祖相关推荐
- python字典、列表、元祖使用场景_python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍...
python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 元祖跟列表类似.只不过是有区别的. 如下: tuple(元祖英文) 跟列表类似, 元素不能 ...
- 潭州教育-Python学习笔记@基本数据类型:元祖字典
Python基本数据还有元祖和字典 元祖(tuple)是Python的基本数据类型,用()表示,元素之间用','隔开,元祖一旦创建,就不能改变 In [45]: s = ('Stone','Stone ...
- Python数据类型——元祖
元祖和列表类似,都能表示大量数据的集合.元祖和列表最大的不同就是元祖是不允许修改和新增元素.元祖使用()表示,列表使用[]表示.接下来将详细讲解元祖. 1.定义元祖: 元祖的定义很简单,只需要在()中 ...
- 元祖python_Python ---元祖
元祖(tuple) ·括号运算符:'()' 作用: 1.控制运算优先级(优先级最高)1+2*3 (1+2)*31+2**3 (1+2)**31 (1)表示1 一个数字加圆括号值与类型都不变 2.作为元 ...
- 元祖字典 java_元祖和字典
元祖的定义 Tuple 元祖与列表类似,不同之处在于元祖中 元素不能修改 元祖表示多个元素的序列 元祖在python中,有特定的应用场景 元祖用于存储 一串信息,数据之间用逗号分隔 元祖用 ( ) 定 ...
- 最新联想bios logo图_软路由神器 联想M720Q=250元,M920Q=350元 8代mini主机大跳水?...
前言 继上一台1L迷你小主机评测( 全网首发 HP ProDesk 400 G5 Desktop Mini 九代1L小主机拆解评测 )小半个月了,HP这台机器比较均衡,但是总感觉缺点什么,直到我在咸鱼 ...
- 用100元买100支笔c语言,用C编程!有100块钱,买100支笔,其中钢笔3元,圆珠笔2元,铅笔0.5元,问各买多少支?...
题目: 用C编程!有100块钱,买100支笔,其中钢笔3元,圆珠笔2元,铅笔0.5元,问各买多少支? 解答: 完整程序如下: main(){ int i3,i2,i05; for (i3=0;i3 猜 ...
- 【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )
文章目录 一.编译时元编程引入 二.声明需要编译时处理的类 三.分析 Groovy 类的 AST 语法树 一.编译时元编程引入 在之前的 " [Groovy]MOP 元对象协议与元编程 &q ...
- 【Groovy】MOP 元对象协议与元编程 ( 方法委托 | 批量方法委托 )
文章目录 一.批量方法委托 二.完整代码示例 一.批量方法委托 在上一篇博客 [Groovy]MOP 元对象协议与元编程 ( 方法委托 | 正常方法调用 | 方法委托实现 | 代码示例 ) 中 , 将 ...
- 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 @Mixin 注解进行方法注入 | Mixin 混合多个类优先级分析 )
文章目录 一.使用 Mixin 混合进行方法注入 二.Mixin 混合多个类优先级分析 一.使用 Mixin 混合进行方法注入 在上一篇博客 [Groovy]MOP 元对象协议与元编程 ( 方法注入 ...
最新文章
- 图像配准的前世今生:从人工设计特征到深度学习
- C++内存对象大会战
- 阿里云产品搭建web应用梳理
- nginx优化及配置
- Java中常见的十八种异常!
- C语言实现lu分解lu decompose算法(附完整源码)
- MATLAB各类函数详细讲解 simulike系统仿真分析
- oracle 解死锁权限,讲解Oracle数据库中结束死锁进程的一般方法
- 三星旗舰Galaxy Note 10系列发布 5G版本国行尝鲜价8299元
- java blueprint_blueprint(蓝本/蓝图)学习笔记
- 函数指针的定义和函数指针数组
- mouseover与mouseenter、 mouseout与mouseleave的区别
- 无法启动此程序 因为计算机中丢失 msvcp71.dll,msvcp71.dll丢失怎样修复?计算机中丢失msvcp71.dll文件的解决方法...
- terminal mysql_MySQL的终端(Terminal)管理数据库、数据表、数据基本操作
- SGD: Maximum margin separating hyperplane程序解析
- 慧鱼机器人编程18子程序
- 解决Logitech G HUB卡在一直在加载问题解决方法
- 从钉钉后台对接考勤打卡信息(仅供参考)
- 今年最新任务平台红利系统/悬赏威客积分墙系统接单小程序APP的优势在哪?
- LaTex | LaTex的数学公式中插入中文