Python a + = b并不总是a = a + b

如果两个变量具有相同的数据类型,而不是列表和字典等迭代器,则表达式a + = b与a = + b相同,结果相同。但是,当涉及到迭代器时,我们不能总是期望得到相同的结果。下面是这种情况之一。

a = a + b的情况

在这里,我们可以看到将表达式应用于列表和期望它们将被合并的字符串时,我们得到了一个错误。

例子

x ='Hello '
z_list = [1,2,3]
z_list = z_list + x
print(z_list)

输出

运行上面的代码给我们以下结果-

Traceback (most recent call last):
   File "C:\Users\Pradeep\AppData\Roaming\JetBrains\PyCharmCE2020.3\scratches\scratch.py", line 11, in
      z_list = z_list + x
TypeError: can only concatenate list (not "str") to list

a + = b的情况

但是,当我们使用表达式a + = b时,我们看到字符串隐式转换为elemnst系列,成为列表的一部分。

例子

z_list = [1,2,3]
x ='Hello'
z_list += x
print(z_list)

输出

运行上面的代码给我们以下结果-

[1, 2, 3, 'H', 'e', 'l', 'l', 'o']