捋一捋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 等进行操作,可以关注订阅后面再单独总结一下。

目录
相关文章
|
3月前
|
Python
Python元组tuple“删除”元素的两种函数代码设计
实际上,Python的tuple元组内的元素是不能被修改的,因此也是无法被删除的,但是,为了移除Python元组tuple内的某些元素,以获得一个新的元组,还是有其办法存在的。比如,我们可以使用for循环添加的方法,来创建一个不包含那些需要被移除的元素的新元组。Python中元组添加元素的内置方法为__add__()方法,实际上,该方法也是
51 4
|
1月前
|
存储 安全 Java
Python教程第3章 | 集合(List列表、Tuple元组、Dict字典、Set)
Python 列表、无序列表、字典、元组增删改查基本用法和注意事项
51 1
|
1月前
|
存储 Python
Python中的列表(list)和元组(tuple)区别
Python中的列表(list)和元组(tuple)区别
28 0
|
3月前
|
存储 索引 Python
Python容器专题 - 元组(tuple)
Python容器专题 - 元组(tuple)
35 0
|
3月前
|
存储 安全 索引
python中的原组Tuple
python中的原组Tuple
18 1
|
4月前
|
存储 数据安全/隐私保护 索引
Python中的元组(Tuple)
Python中的元组(Tuple)
33 3
|
4月前
|
Python
python数据结构,列表(list)和元组(tuple)有什么区别?
python数据结构,列表(list)和元组(tuple)有什么区别?
|
4月前
|
Shell 数据安全/隐私保护 索引
Python(二十)python元组tuple
Python中的元组中的元素不能修改,不能删除,其余的属性与list是一样的。 元组使用小括号定义,列表使用方括号定义。 一:定义一个元组 1:创建元组 bash 复制代码 tuple_one = ('1','2',11,22) print("我的类型是:",type(tuple_one)) 输出: 我的类型是: <class 'tuple'> 2:定义一个空元祖 空元祖这个玩意,在实际开发中没有实际意义。元素定义之后便不能修改。 bash 复制代码 # 定义一个空元祖 tuple_kong = () print("我的类型是:",type(tuple_kong)) 输出: 我的类型是: <c
38 0

热门文章

最新文章