您当前的位置:首页 > 计算机 > 编程开发 > Python

Python编程一定要注意的那些“坑”(八):赋值运算符=

时间:12-27来源:作者:点击数:
城东书院 www.cdsy.xyz

原始问题:下面的代码执行后为什么x的值是[2, 2]呢?

>>> x = [3, 5, 7]

>>> x = x[1:] = [2]

>>> x

[2, 2]

进一步,我们修改x列表的初始内容,会发现不管x的初始值是什么,执行x = x[1:] = [2]之后的x的值都是[2, 2]:

>>> x = [1, 2, 3, 3, 4, 5, 6]

>>> x = x[1:] = [2]

>>> x

[2, 2]

接下来我们重启Python shell,然后执行下面的代码:

>>> x = x[1:] = [2]

>>> x

[2, 2]

>>> del x

>>> x

Traceback (most recent call last):

  File "<pyshell#49>", line 1, in <module>

    x

NameError: name 'x' is not defined

>>> x = x[1:] = [2]

>>> x

[2, 2]

实际上这里有个小坑,这个问题的根源在于x = [1:] = [2]相当于x = [2]和x[1:] = [2]这两条语句,也就是说先创建列表x的值为[2],然后使用切片为其追加一个元素2,然后得到[2, 2]。

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门