带有列表和元组的 Python +=

标签 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 - 如何将整数列表加入一个整数python

python - 我如何修复这个 "ValueError: can' t have unbuffered text I/O"in python 3?

javascript - 重访 Python 私有(private)实例数据

python - h5py:如何组织 HDF5 文件以有效读取混合数据类型对象

python - 在 Python 中按创建日期排序文件列表时出现奇怪的错误

python - Django 对象和多处理

python - 这个 'for m,n in matches' 是什么意思?

python - 使用 Tkinter 进行“悬停”弹出窗口

python - python Python : Cannot execute native linux-32 binary

python - numpy 最大参数。如何计算 max 和 argmax?