捋一捋Python中的Tuple

简介: 正式的Python专栏第24篇,同学站住,别错过这个从0开始的文章!

今天学委都在写代码,写了很多篇,这次我们讲解元组Tuple,不要错过!


什么是Tuple

Tuple 是Python特有的一种类型,它有点像列表但是也不完全是。


学委意识到这上面的内容还是过于技术表达:简单来说元组,可以理解为一组元素的构成的一个小组。比如大学做课题几个人一组,可以理解为一个元组。(后面想到更好的例子再来更新)。


如果简单粗暴理解,那么我们暂且称tuple为限定长度的list,不会过份!


这是tuple


(1,2,3)


获取tuple类型数据的元素:


tup = (1,2,3)

tup[0] #获取第一个下标对应元素

tup[0:2] #获取子元组


更多操作变种不说了,这个在学委的Python 基础上篇中讲述了。


tuple的增删查改

基本别想了,Python中的元组是不允许篡改。


但是,有个前提,tuple中元素如果非基础数据类型,也就是引用类型。


那么我们是有办法修改它内部状态的,如下图:



image.png

我们可以查看尝试修改’t[0]’ 的值的时候Python解释器马上抛出错误了!

那么元组上面能做啥操作?

基本上只有加法和乘法,效果就是生成扩展的新元组。

有点像1+1 = 11这个意思吧。

学委准备了下面的代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 6:39 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : tupledemo2.py
# @Project : hello
tup = (3, 3, 3)
# new_tup = tup - tup #TypeError: unsupported operand type(s) for -: 'tuple' and 'tuple'
new_tup = tup + tup
print(new_tup)
# 学委还是很喜欢三连的,666
new_tup = tup * 3
print("三连开光过的tuple:", new_tup)
# new_tup = tup / 3 # 不支持下次一定啊!
print("'666' in new_tuple ? ", '666' in new_tup)

读者可以直接复制运行代码,学委补充了运行效果图:

image.png

list 转tuple

前面我们粗暴的把tuple当做限定长度的list了(有些场景可以很有用,比如定长list)。

所以我们有时候也会把list转成tuple,照样获取元素进行业务操作。

下面学委准备了一些代码展示:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 6:39 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : tupledemo3.py
# @Project : hello
tup = (3, 3, 3)
new_tup = ([x * 2 for x in tup])
print("加倍过的tuple:", new_tup)
list = [6, 6, 6]
new_tup = tuple(list)
print("把list转tuple: ", new_tup)
if 6 in new_tup:
    print("new_tup has 6 !")

运行效果如下:

image.png

总结

除了上面介绍的一些函数,我们还能使用内置的一些函数(max/min等)对tuple进行操作,这些函数也能对string, list 等进行操作,可以关注订阅后面再单独总结一下。

目录
相关文章
|
7月前
|
存储 索引 Python
元组(Tuple)在Python编程中的应用与实例
元组(Tuple)在Python编程中的应用与实例
163 2
|
3月前
|
Python
Python中的tuple:探索其强大功能与实用技巧
Python中的tuple:探索其强大功能与实用技巧
36 1
|
4月前
|
存储 缓存 索引
python 的 tuple(元组) 是不是冗余设计?
python 的 tuple(元组) 是不是冗余设计?
|
4月前
|
存储 数据库 C++
"深入剖析Python元组(tuple):与列表的对比、特性解析及高效应用场景展示"
【8月更文挑战第9天】Python元组与列表虽均用于存储元素集合,但有本质差异。元组不可变,创建后无法修改,适合保护数据不被意外更改的场景,如作字典键或传递固定值。列表则可变,支持动态增删改,适用于需频繁调整的数据集。元组因不可变性而在性能上有优势,可用于快速查找。两者各有千秋,根据具体需求选择使用。例如,元组可用于表示坐标点或日期,而列表更适合管理用户列表或库存。
119 1
|
4月前
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型tuple
Python中tuple(元组)的数据结构,包括元组的创建、访问、修改,以及元组支持的运算符和内置函数,还探讨了元组的特性如不可变性和特殊用法,最后扩展介绍了命名元组的概念和使用。
22 0
|
4月前
|
SQL 机器学习/深度学习 算法
【python】python指南(七):静态类型注解之Tuple
【python】python指南(七):静态类型注解之Tuple
39 0
|
5月前
|
存储 缓存 Python
Python中的列表(List)和元组(Tuple)是两种重要的数据结构
【7月更文挑战第12天】Python中的列表(List)和元组(Tuple)是两种重要的数据结构
59 1
|
6月前
|
存储 Python
Python中list, tuple, dict,set的区别和使用场景
Python中list, tuple, dict,set的区别和使用场景
205 2
|
6月前
|
存储 索引 Python
Python教程:深入了解 Python 中 Dict、List、Tuple、Set 的高级用法
Python 中的 Dict(字典)、List(列表)、Tuple(元组)和 Set(集合)是常用的数据结构,它们各自有着不同的特性和用途。在本文中,我们将深入了解这些数据结构的高级用法,并提供详细的说明和代码示例。
248 2
|
5月前
|
存储 安全 编译器
Python学习日记(一:List、Tuple、dictionary)
1.列表、元组和字典都是序列 2.列表字典可以修改和删除序列中的某个元素,而元组就是一个整体,不能修改和删除,一定要修改或删除的话,只能修改和删除整个元组。 3.既然元组不能删除和修改,有什么作用呢? 1.元组比列表遍历速度快,因为元组是一个整体,运算效率高; 2.正是因为不能修改,元组可以保护不需要修改的数据,可以使代码结构更安全。