为了账号安全,请及时绑定邮箱和手机立即绑定

Python不可变对象元组(tuple)详解

标签:
Python

概述

元组和列表很相似,不过元组是不能在原处改变的对象,这点性质和字符串一致,虽然元组不支持任何方法调用,但是元组具有列表的大多数属性,以下是元组的一些特性。

  • 支持索引和切片 既可以通过索引和切片读取元组内的数据
  • 固定长度 由于元组为不可变的序列,所以是不能在生成一个拷贝的情况下进行增删的
  • 任意嵌套 即元组和列表、字典都支持其他的复合对象,比如其他的元组,字典,列表等

常见使用示例

一些基础定义

# 空元组
T = ()

# 简单元组
T = (1, 2, 3, 4)
print(T)

# 嵌套元组
T = (1, (2, 3), 4)
print(T[1][1])

示例结果:

(1, 2, 3, 4)
3

元组转化的简单使用

# 字符串转元组
T = tuple('PYTHON')
print(T)

# 列表转元组
L = list("PYTHON")
T = tuple(L)
print(T)

示例结果:

('P', 'Y', 'T', 'H', 'O', 'N')
('P', 'Y', 'T', 'H', 'O', 'N')

索引和切片

T = (1, 2, 3, 4, 5)
# 索引
print(T[3])
# 切片
print(T[2:4])

示例结果:

4
(3, 4)

简单迭代

for循环迭代元组
T = (1, 2, 3, 4, 5)
for t in T:
    print(t * 10)

示例结果:

10
20
30
40
50

列表推导

T = (1, 2, 3, 4, 5)
L = [x * 10 for x in T]
print(L)

示例结果:

[10, 20, 30, 40, 50]

元组使用要义

当我们在学习元组时,总是会纳闷已经有了列表为什么还需要学习使用元组看似鸡肋的内置对象呢? 我们可以通过元组的不可变性运用在一些场景中,因为其不可变性本身本身就提供了某种完整性,比如使用元组来实现函数的多返回值,作为参数传递给函数调用、或是从函数调用那里获得参数时,保护其内容不被外部接口修改。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消