当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-15
学习笔记,有错必纠 不可变的元祖 元祖是一个值的一个序列,其中的值可以是任何类型,并且按照整数下标索引,这和列表很像。但是元祖和列表之间重要的区别是,元祖是不可变的

学习笔记,有错必纠



不可变的元祖



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

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

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


print(type(t01))
print(type(t02))

输出:

<class 'tuple'>
<class 'tuple'>

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

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

print(type(t03))
print(type(t04))

输出:

<class 'tuple'>
<class 'str'>



元组赋值



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

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

a = 1
b = 2

temp = a
a = b
b = temp
print('a:', a)
print('b:', b)

输出:

a: 2
b: 1



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

a = 1
b = 2

a, b = b, a
print('a:', a)
print('b:', b)

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

输出:

a: 2
b: 1



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

a, b = 10, 20, 30

报错信息:

ValueError: too many values to unpack (expected 2)


上一篇:python观察日志(part3)--绘制科赫雪花图
下一篇:没有了
网友评论