元组的介绍

本文详细介绍了Python元组的基本概念,包括其不可变性质、创建方式、注意事项,以及为何设计为不可变的原因。通过实例演示元组的遍历和存储对象引用。重点讲解了元组在多任务环境中的优势和操作细节。

元组

  • Python内置的数据结构之一,是一个不可变序列

元组的写法与用法与列表极其相似,写法上元组使用小括号,而列表使用中括号。

t = ('hello', 'python', 90)

不可变序列与可变序列

  • 不可变序列

没有增删改操作的序列称为不可变序列,例如:字符串、元组

  • 可变序列

能进行增删改操作的序列称为可变序列,例如:列表、字典

元组的创建方式

  • 直接使用小括号

t = (‘python’, ‘hello’, 90)

  • 使用内置函数tuple()

t = tuple(‘python’, ‘hello’, 90)

  • 只包含一个元组的元素需要使用逗号和小括号

t = (10, )

空列表、空字典、空元组

lst = []
lst1 = list()

d = {}
d1 = dict()

c = ()
c1 = tuple()

print('空列表:', lst, lst1)
print('空字典:', d, d1)
print('空元组:', c, c1)

空列表: [] []
空字典: {} {}
空元组: () ()

为什么要将元组设计成不可变序列

  • 在多任务环境下,同时操作对象不需要加锁,因此在程序中尽量使用不可变序列。

  • 注意事项:元组中储存的是对象的引用

如果元组中对象本身是不可变对象,则不能再引用其他对象

如果元组中的对象是可变对象,则可变对象的引用不允许改变,但数据可以改变。

在这里插入图片描述

t = (10, [20, 30], 9)
print(t, type(t))
print(t[0], type(t[0]), id(t[0]))
print(t[1], type(t[1]), id(t[1]))
print(t[2], type(t[2]), id(t[2]))

# 将t[1]修改为100
# print(id(100))
# t[1] = 100 由报错知元组是不允许修改元素的;但元组中的列表是可变序列,所以可以向列表中添加元素,而列表的内存地址不变。
t[1].append(100)
print(t, id(t[1]))


(10, [20, 30], 9) <class 'tuple'>
10 <class 'int'> 2341310628368
[20, 30] <class 'list'> 2341311953088
9 <class 'int'> 2341310628336
(10, [20, 30, 100], 9) 2341311953088

元组的遍历

  • 元组是可迭代对象,所以可以使用for…in进行遍历
  • 第一种获取元组的方式,使用索引。
t = ('python', 'world', 98)
print(t[0], t[1], t[2])

python world 98

第二种获取元组的方式,遍历元组。

for item in t:
    print(item)
    
python
world
98
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蛰伏GR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值