继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

若数
关注TA
已关注
手记 68
粉丝 23
获赞 95

概述

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

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

常见使用示例

一些基础定义

# 空元组
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]

元组使用要义

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP