之前在学习用python绘制动态2D李萨如图时,纵观所有大佬的博客,都能看见一句
Liss,=axs.plot(x,y)
这个,=
属实是把我整不会了,用引擎搜索也没有找到什么非常详尽的讲解,于是单开一篇博客来详解一下。
先说结论
,=
可以从只有一个元素的元组或列表里提取出那个仅有的元素。
可以从下面的实例中体会一下:
首先是对于队列:
可以看到,对于只有一个元素的队列a,如果直接赋值b=a
,则b仍是一个队列;而如果用b,=a
,则可以把a中唯一的那个元素提取出来。
对于元组来说情况也类似:
完全一样的操作,用b,=a
我们成功把元组a中唯一的元素提取了出来。
值得注意的细节是,定义一个大小为1的元组时,不能直接用a=(1)
,这样a只是一个int
变量,我们需要在元组中加一个逗号a=(1,)
,这样才能将a定义为元组。
如果列表/元组的大小不为1,则该语句无法正常运行:
可以看到错误提示中的‘too many values to unpack’。
所以,在绘制动态2D李萨如图时,由于plot
函数返回的是一个大小为1的列表,要从中提取元素时,就可以用,=
语句。