<分区>
我在网上看到有人写了一个有趣的 python 行,但不明白为什么它会起作用。所以我们可以在 python 解释器中尝试以下行:
s=[1]
s=s+(1,-1)
这将导致错误“TypeError:只能将列表(而不是“元组”)连接到列表”。但如果以另一种方式完成:
s=[1]
s+=(1,-1)
将导致 s = [1,1,-1]
所以我以前认为 x=x+y 等同于 x+=y,谁能告诉我它们有何不同以及为什么第二种方式有效?提前致谢。
标签 python
<分区>
我在网上看到有人写了一个有趣的 python 行,但不明白为什么它会起作用。所以我们可以在 python 解释器中尝试以下行:
s=[1]
s=s+(1,-1)
这将导致错误“TypeError:只能将列表(而不是“元组”)连接到列表”。但如果以另一种方式完成:
s=[1]
s+=(1,-1)
将导致 s = [1,1,-1]
所以我以前认为 x=x+y 等同于 x+=y,谁能告诉我它们有何不同以及为什么第二种方式有效?提前致谢。
最佳答案
使用 list.extend
代替 +=
:
s = [1]
s.extend((1,-1))
关于带有列表和元组的 Python +=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30833442/
相关文章:
python - 我如何修复这个 "ValueError: can' t have unbuffered text I/O"in python 3?
javascript - 重访 Python 私有(private)实例数据
python - h5py:如何组织 HDF5 文件以有效读取混合数据类型对象
python - 在 Python 中按创建日期排序文件列表时出现奇怪的错误
python - 这个 'for m,n in matches' 是什么意思?
python - 使用 Tkinter 进行“悬停”弹出窗口
python - python Python : Cannot execute native linux-32 binary