python - 为什么 += 添加和 int.从一个列表到另一个列表而不仅仅是+?

标签 python python-3.x

我有以下代码:

sales_data = [[12, 17, 22], [2, 10, 3], [5, 12, 13]]
scoops_sold = 0

我最初写道:

for location in sales_data:
  print(location)
  for element in location: 
    scoops_sold + element 
    print(scoops_sold) 

经过一番折腾,我发现我在 + 符号后面缺少了一个 =

为什么+=要加上int的和。一个列表到另一个列表而不仅仅是 +

最佳答案

目前,之前的所有答案,包括已接受的答案,都完全误导,请注意这两个不同 python 结构之间的区别:

  1. + 运算符从两个操作数生成一个列表:

    >>> a = b = [1]
    >>> a = a + [2]
    >>> a, b
    [1, 2], [1]
    

    这里,ab 最初都指向相同列表。然后我们创建了一个new列表并将其反弹到变量a

  2. += 运算符,修改现有列表

    >>> a = b = [1]
    >>> a += [2]
    >>> a, b
    [1, 2], [1, 2]
    

    这里,ab 最初都指向相同列表。然后我们修改了相同的列表。

要点...语法a = a + b 不是缩写 a += b

关于python - 为什么 += 添加和 int.从一个列表到另一个列表而不仅仅是+?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61023696/

相关文章:

python不打印出“字符

python - 从值中获取键(值位于列表中)

python - centos无法安装mysqlclient

python - 从 Mega.nz 文件中抓取文本 (Python)

linux - Python3 linux 中的文件名编码问题

python - Python 中包的供应商命名空间

python-3.x - Pandas 总计数高于阈值

python - 在哪里可以下载请求的 zip 文件?

python - 检查对象是否为数字的最pythonic方法是什么?

python - python 中 MIDIUtil 中的乐器列表是什么?