捋一捋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的主要内容,如果未能解决你的问题,请参考以下文章