【第三章】Python基础之元组tuple

元组tuple

1、一个有序的元素组成的集合

2、使用小括号 ( ) 表示

3、元组是不可变对象

初始化

tuple() -> empty tuple

tuple(iterable) -> tuple initialized from iterable's items

复制代码
t1 = () # 空元组
t2 = (1,) # 必须有这个逗号
t3 = (1,) * 5     输出:(1, 1, 1, 1, 1)
t3 = (1) * 5   	 	输出:5
t4 = (1, 2, 3)
t5 = 1, 'a'
t6 = (1, 2, 3, 1, 2, 3)
t7 = tuple() # 空元组
t8 = tuple(range(5))
t9 = tuple([1,2,3])

索引

索引和列表规则一样,不可以超界

复制代码
输入:x = (1,2,3,4,'abc',range(5),[],(),None)
	 x
输出:(1, 2, 3, 4, 'abc', range(0, 5), [], (), None)


输入:x[0],x[-1]
输出:(1, None)



输入:x[0] = 100				#TypeError: 'tuple'对象不支持项赋值
输出:TypeError: 'tuple' object does not support item assignment 

查询

方法和列表一样,时间复杂度也一样。index、count、len等

复制代码
输入:x.index(2)
输出:1

输入:x.index(0)				#ValueError: tuple.index(x): x不在元组中
输出:ValueError: tuple.index(x): x not in tuple 

x.count(1)
1

len(x)
9

增删改

元组元素的个数在初始化的时候已经定义好了,所以不能为元组增加元素、也不能从中删除元素、也不 能修改元素的内容。

但是要注意下面这个例子

复制代码
输入:(1,)+(1,)
输出:(1, 1)


输入:(1,3) * 3
输出:(1, 3, 1, 3, 1, 3)

输入:((1,),) * 3
输出:((1,), (1,), (1,))

输入:a = ([3],) * 3
	 a[0][0] = 500
	 a

输出:([500], [500], [500])
相关推荐
wuminyu4 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
小徐不徐说4 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang5 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go5 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
Wang's Blog5 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3275 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
IMPYLH5 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
weixin_307779135 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Dxy12393102166 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷6 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++