首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python入门系列2——元组

上节回顾:Python入门系列1——列表

本节我们将继续介绍Python的四个基本数据结构之一——元组。

元组

元组(tuple)数据结构与列表类似,其中元素可以有不同的类型,并且元组中元素的索引和切片操作都相同。但是它与列表最大的区别在于:元组中的元素是不可变的,即一旦初始化之后就不能够再做修改。

1.1

创建元组

元组的创建与列表类似,只是元组使用小括号将各个元素括起来(列表用的是方括号)。

'Bob'12'Male'91

output:

('Bob', 12, 'Male', 91)

1.2

修改元组

列表可以被修改,但是元组无法被修改。例:

'Bob'12'Male'91

output:

['Bob', 3, 'Male', 91]

'Bob'12'Male'91

output:

Traceback (most recent call last):

File "", line 2, in

Bob_tuple[1]=3

TypeError: 'tuple' object does not support item assignment

可以看到当我们想把元组Bob_tuple的第1个元素改变为3时,出现了报错信息'tuple' object does not support item assignment(“‘元组’对象不支持赋值”)。

由于元组是不可变的,因此元组对象没有append, insert这样的方法。那我们使用list岂不是更好?实际上,tuple的使用可以使得代码更安全,防止错误赋值导致重要对象的改变。

顺便提一下,字符串可以看做是一种特殊的元组,每个字符就是一个元素。因此字符串是不可变的,如下所示,当我们想改版name变量的第一个元素时,系统将会报错:

name = 'Bob'

name[0] = 'P'

output:

Traceback (most recent call last):

File "", line 2, in

name[0]='p'

TypeError: 'str' object does not support item assignment

元组不可变是指元组中的每个元素指向的对象不改变,即Bob_tuple的第2个元素指向12,就不能够改为指向3。如果元素是指向一个列表,虽然不能将列表对象改为其他对象,但是可以对指向的这个列表本身进行修改。

1.3

删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。

'Bob'12'Male'91

output:

('Bob', 12, 'Male', 91)

Traceback (most recent call last):

File "", line 4, in

print Bob_tuple

NameError: name 'Bob_tuple' is not defined

1.4

元组索引与截取

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

Bob_list=['Bob',12,'Male',91]

1.5

元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

1.6

元组内置函数

Python元组包含了以下内置函数

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180317B0AAEM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券