Python+;=有一个列表和一个元组
我看到有人在网上写了一行有趣的python代码,但我不明白为什么它能工作。因此,我们可以在python解释器中尝试以下几行:Python+;=有一个列表和一个元组,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,有人能告诉我它们是如何不同的,以及为什么第二种方法有效吗?提前感谢。使用列表代替+=。扩展: s = [1] s.extend((1,
s=[1]
s=s+(1,-1)
这将导致错误“TypeError:只能将列表(而不是“元组”)连接到列表”。但如果以另一种方式进行:
s=[1]
s+=(1,-1)
将导致s=[1,1,-1]
所以我曾经认为x=x+y等同于x+=y,有人能告诉我它们是如何不同的,以及为什么第二种方法有效吗?提前感谢。使用
列表代替+=
。扩展:
s = [1]
s.extend((1,-1))
你的答案并不遥远。看起来s+=…
实现为s.extend(tuple(…)
(或v.v)s+=1,-1
起作用。主要问题是“有人能告诉我它们有什么不同,为什么第二种方法有效?”。OP希望理解(我看到有人在网上写了一行有趣的python代码,但不明白它为什么工作),没有提供另一个解决方案。第一个副本没有回答这个问题-它询问为什么+=
更改列表。第二种方法更为适用,尽管解释原因的唯一真正尝试是与对称性有关。