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']