Python:是否有pythonic的“提取和更新”表达式?

时间:2018-12-11 03:09:49

标签: python expression

您看到过多少次这样的事情:

tmp = reference
reference = new_value
return tmp

这不是真的吗?,但是在没有临时变量的情况下,是否有一些Python速记来完成相同的事情?

(我设想的是类似return shift(reference, new_value) ...)

2 个答案:

答案 0 :(得分:5)

IIUC:

>>> a=1
>>> b=2
>>> a,b=b,a
>>> a
2
>>> b
1
>>> 

在这种情况下,交换变量可以按预期工作

基本上是这样写的逻辑:

a,b=b,a
^ ^ ^ ^
1 2 2 1

2 1
^ ^
1 2

答案 1 :(得分:0)

元组交换是最简单的:

if x = 5 and y = 10

然后

x,y = y,x  will swap their values:

x = 10
y = 5