你见过几次这样的事情:
tmp = reference
reference = new_value
return tmp
Run Code Online (Sandbox Code Playgroud)
它并没有真正打扰我,但有没有一些Pythonic速记来完成同样的事情没有临时变量?
(我想象return shift(reference, new_value)......)
IIUC:
>>> a=1
>>> b=2
>>> a,b=b,a
>>> a
2
>>> b
1
>>>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,交换变量可以按预期工作
所以基本上写的逻辑:
a,b=b,a
^ ^ ^ ^
1 2 2 1
2 1
^ ^
1 2
Run Code Online (Sandbox Code Playgroud)