欢迎光临散文网 会员登陆 & 注册

第七章 组合数据-2元组Tuple

2023-07-06 16:19 作者:wangyanhpa  | 我要投稿

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。我们来看看下面这个例子,写一写程序运行结果吧。 

t1=(3)

t2=(3,)

print(t1,type(t1))

print(t2,type(t2))

print(random.random())

 

容我想一想 type 是啥意思了?直接告诉你:返回对象的类型。把程序的运行结果写在上面空白处。我猜你写对的概率是多少呢?可能性是random.random(),见证奇迹的时刻到了,

3 <class 'int'>

(3,) <class 'tuple'>

0.08515720786212122

 

看到了吧,加不加逗号不一样,数据类型都不同,一个是整型int,一个是元组类型tuple。

元组中的元素值是不允许修改的,但我们可以对元组进行连接。

tup1 = (12, 34.56)

tup2 = ('abc', 'xyz')

# 以下修改元组元素操作是非法的。

# tup1[0] = 100

# 创建一个新的元组

tup3 = tup1 + tup2

print(tup3)  #输出 (12, 34.56, 'abc', 'xyz')

 

与字符串一样,元组之间可以使用 + 号和 * 号进行运算,也就是说元组可以组合和复制,运算后会生成一个新的元组。

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

tup=('乐高','枪模','和平精英')

tup [2] '和平精英'          #读取第三个元素

tup [-2] '枪模'             #反向读取,读取倒数第二个元素

tup [1:] ('枪模','和平精英')   #截取元素,从第二个开始后的所有元素。

 

元组的主要作用是保护数据安全,因为元组创建后不能修改。元组还可以接收一个函数的多个返回值,这个我们在函数章节中已经学过,元组还有一个用处,就是作为自动组包/解包的默认类型(好高深的概念啊)。其实有些东西当我们不了解时觉得很深奥,但是如果你学会了,“天空飘来五个字儿那都不是事”。我曾经特别佩服光头强,因为他会开车而我不会。但是当我学会了开车(现在又不会开车了,只是有一个驾照而已),感觉也就那么回事。光头强还会打网球,坐在躺椅上带着太阳镜享受假期,在李老板的压榨下依然能快乐的生活,因此我仍然喜欢他。

言归正传,我们谈谈自动组包/解包。举个例子就明白了。

 

# 如果有多个变量赋值给一个变量时,会把多个值自动组包成元组

info = 10, 20 

print(type(info))

 

# 如果等号左边的变量个数和元组中元素的个数相同时,元组会自动解包,就是一一对应去赋值

tuple = (20, 30)

a, b = tuple

print(a)

print(b)

 

怎么样简单吧!顺便考虑一下,如何交换两个变量的值?先自己想想,后面提供三个方法。

#交换两个数

a = 10  # 把a的值变为20

b = 20  # 把b的值变为20

#方法1

temp = a

a = b

b = temp

#方法2

a = a + b

b = a - b

a = a - b

#方法3

a, b = b, a


第七章 组合数据-2元组Tuple的评论 (共 条)

分享到微博请遵守国家法律