python渐进---tuple

原载于https://mp.weixin.qq.com/s/HUGNM4FjFmMOQYsfMxqG4g


6.2 tuple

tuple也叫元组,是一种和list类似的数据结构。tuple和list不同的是,tuple存储的元素不能被修改。

python里面有可变变量和不可变的变量。它们的区别在于,可变变量所在内存空间的值可以被修改,而不可变变量所在的内存空间的值是不可以被修改的。下面介绍到tuple的修改的时候可以看到这一点。


6.2.1 tuple的创建

tuple是由小括号括起的逗号分隔的数据。通过小括号括起一些逗号分隔的数据就可以定义一个元组了。

>>> t=(1,2,3)
>>> t
(1, 2, 3)
>>> 


tuple可以为空序列。当需要给另外一段代码返回一个长度为0的tuple,可以返回一个空tuple。

>>> t=()
>>> t
()


如果想要生成只有一个数据的tuple,也要加入逗号分隔。不然生成的就不是tuple,而是数据本身。演示代码如下,使用(1,)才能生成一个长度为1的tuple,而使用(1)生成的只是1。这里需要非常注意。

>>> t=(1,)
>>> t
(1,)
>>> t=(1)
>>> t
1


6.2.2 tuple的访问

tuple像list一样,可以通过序号来访问数据,也可以通过切片操作来访问数据。如果是二维的tuple,访问方法也是和list的一致。

>>> t=(1,2,3,4)
>>> t[1:3]
(2, 3)
>>> t[0]
1
>>>t2=((11,12),(21,22))
>>> t2[0][0]
11


6.2.3 tuple的修改

tuple无法修改元素,也不能增加和删除元素。

>>> t[0]=2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> t.append(5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'

tuple一般用来传递数据,比如说用于函数的参数传递,在函数运行完之后,tuple的数据不会被函数的代码修改。最原始的一份数据拷贝,通过tuple这种数据结构可以得以保留。

如果拿到了一份tuple数据,又想在它的基础上进行修改,那么可以使用list()进行类型转换,自行复制一份拷贝使用。而不影响原来的那份拷贝。

>>> a=list(t)
>>> a
[1, 2, 3, 4]


6.2.4 tuple的有用函数

tuple的长度也可以通过len函数来获得,演示代码如下

>>> len(t)
4


本文完



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值