python观察日志(part6)--不可变的元祖

网友投稿 300 2022-08-31


python观察日志(part6)--不可变的元祖

学习笔记,有错必纠

不可变的元祖

元祖是一个值的一个序列,其中的值可以是任何类型,并且按照整数下标索引,这和列表很像。但是元祖和列表之间重要的区别是,元祖是不可变的。

语法上,元祖就是用逗号分隔的一列值,虽然并不必需,但是元祖常常用括号括起来:

t01 = 'a','b','c't02 = ('a','b','c')print(type(t01))print(type(t02))

输出:

若新建只包括一个元素的元祖,需要在元素后面添加逗号,而用括号括起来的单独的值并不是元祖:

t03 = 'a',t04 = ('a')print(type(t03))print(type(t04))

输出:

元组赋值

我们如何交换两个变量的值呢?

按照传统的赋值方式,需要使用一个临时变量,例如要交换a和b:

a = 1b = 2temp = aa = bb = tempprint('a:', a)print('b:', b)

输出:

a: 2b: 1

这种解决方案很笨拙,而元组赋值则更优雅:

a = 1b = 2a, b = b, aprint('a:', a)print('b:', b)

元祖赋值中,左边是一个变量的元组,右边是表达式的元组。右边所有的表达式,都会在任何赋值操作进行之前完成求值。

输出:

a: 2b: 1

赋值时,左边变量的个数和右边值的个数必须相同,否则会报错:

a, b = 10, 20, 30

报错信息:

ValueError: too many values to unpack (expected 2)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ZooKeeper开发实际应用案例实战
下一篇:我常用的python函数(part1)--内置函数isinstance(菜鸟教程python内置函数)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~