python+=带有一个列表和一个元组

Python += with a list and a tuple

本问题已经有最佳答案,请猛点这里访问。

我看到有人在网上写了一条有趣的python行,但我不明白它为什么会起作用。所以我们可以在python解释器中尝试以下几行:

1
2
s=[1]
s=s+(1,-1)

这将导致错误"typeerror:can only concatenate list(not"tuple")to list"。但如果用另一种方式:

1
2
s=[1]
s+=(1,-1)

将导致s=[1,1,-1]

所以我以前认为x=x+y等于x+=y,有人能告诉我它们是怎样不同的,为什么第二种方法有效吗?事先谢谢。


list.extend代替+=

1
2
s = [1]
s.extend((1,-1))