捋一捋Python中的Tuple

Posted 雷学委

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了捋一捋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中元素如果非基础数据类型,也就是引用类型。

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

我们可以查看尝试修改’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)

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

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 !")

运行效果如下:

总结

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

对了,喜欢Python的朋友,请关注学委的 Python基础专栏 or Python入门到精通大专栏

持续学习持续开发,我是雷学委!
编程很有趣,关键是把技术搞透彻讲明白。
欢迎关注微信,点赞支持收藏!

以上是关于捋一捋Python中的Tuple的主要内容,如果未能解决你的问题,请参考以下文章

捋一捋Python中的List(上)

捋一捋Python中的List(上)

捋一捋Python中的Dict(上)

捋一捋操作python容器的内置通用函数

捋一捋操作python容器的内置通用函数

捋一捋Python中的Dict(下)