Python 有 ,= 操作符??

Python七号

共 1049字,需浏览 3分钟

 ·

2021-11-06 14:17

今天分享一个比较少见的用法,那就是 Python 是有 ,= 这种用法的,至于是它是否称得上操作符,这个不重要。

咱们先一起回顾一下逗号相关的用法吧:

1,元组的组成部分

没有逗号的括号,构不成元组,哪怕只有一个元素,也需要有逗号。

In [6]: a = (1,)

In [7]: type(a)
Out[7]: tuple

2、交换两个变量

In [8]: a = 1

In [9]: b = 2

In [10]: a, b = b, a

In [11]: f"{a = } {b = }"
Out[11]: 'a = 2 b = 1'

你想交换三个、四个、多个,也可以这样做。

3、拆解列表,元组,或集合

In [12]: a, b = [1,2]

In [13]: f"{a = } {b = }"
Out[13]: 'a = 1 b = 2'

In [14]: a, b = (3,4)

In [15]: f"{a = } {b = }"
Out[15]: 'a = 3 b = 4'

In [17]: a, b = {5,6}

In [18]: f"{a = } {b = }"
Out[18]: 'a = 5 b = 6'

In [19]:

4、,= 操作符?

明白了以上操作,现在下面的代码其运行结果是多少呢?

a ,= [2]
b , = [2]
c , = (2,)
d , = {2}
e ,= range(2,3)
print(a,b,c,d,e)

如果你心中有了结果,可以看下是否符合预期:

>>> a,=[2]
>>> b , = [2]
>>> c , = (2,)
>>> d , ={2}
>>> e ,     = range(2,3)
>>> print(a,b,c,d,e)
2 2 2 2 2
>>>

只要可迭代对象内部仅有一个元素,就可以通过 ,= 的形式把这个值取出来,至于逗号和等号是否挨着,倒无所谓。

一句话,,= 就是拆解列表,元组,集合,可迭代对象的特例,要求其只能有一个元素。

最后

看到这里了,奇怪的知识有没有增加呢?如果有收获,请点个赞吧,今天的文章比较短,考虑到今天周末了,又是10月的最后一天,你可以放松一下,没必要天天学习,出去玩吧,看看周围的风景,见见有趣的人,祝周末愉快!



浏览 32
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报