python元组

元组

什么是元组

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

元组以()定义

字典以{}定义

而列表以[]定义

补充
  • 不可变序列:字符串、元组
    • 没有增、删、改的操作
  • 可变序列:列表、字典
    • 可以对序列进行增、删、改操作,对象地址不发生改变

元组的创建

  • 直接使用小括号

t = (‘python’,‘java’,‘C++’)

  • 使用内置函数tuple()

t = tuple((‘python’,‘java’,‘C++’))

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

t = (5,)

如果不加逗号,则会被当作整数5

空列表的创建
1.list=[]
2.list=list()

空字典的创建
1.d={}
2.d=dict()

空元组的创建
1.t=()
2.t=tuple()

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

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

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

    • 如果元组中对象本身时不可变对象,则不能再引用其他对象
    • 如果元组中的对象时可变对象,则可变对象的引用不允许改变,但是数据可以改变

例子:

t = (10,[20,30],40)
print(t)
#(10, [20, 30], 40)
print(type(t))
#<class 'tuple'>

print(t[0],type(t[0]),id(t[0]))
#10 <class 'int'> 3135830256208
print(t[1],type(t[1]),id(t[1]))
#[20, 30] <class 'list'> 3135866928448
print(t[2],type(t[2]),id(t[2]))
#40 <class 'int'> 3135830257168

print(id(100))
3135830447568

#尝试将t[1]修改为100
#t[1]=100
#报错了!!!!!
#Traceback (most recent call last):File "<pyshell#9>", line 1, in <module>	
#t[1]=100
#TypeError: 'tuple' object does not support item assignment

#列表是可变序列,向列表中添加元素,列表的内存地址不变
t[1].append(100)
print(t[1])
#[20, 30, 100]
print(id(t[1]))
#3135866928448

元组的遍历

1.通过索引获取

2.元组是可迭代对象,所以可以使用for…in进行遍历

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值