Python:有 pythonic "fetch and update"表达式吗?

标签 python expression

您见过多少次这样的事情:

tmp = reference
reference = new_value
return tmp

这并没有真正困扰我,但是有没有一些 Pythonic 简写可以在没有临时变量的情况下完成同样的事情?

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

最佳答案

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

关于Python:有 pythonic "fetch and update"表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716792/

相关文章:

python - 函数矩阵、SymPy 和 SciPy 的数值积分

c# - 不支持异常 : Could not convert constant 1 expression to string

c# - 使用递归创建 (Lambda) 表达式

python - 比较不同文件夹中的所有代码?

python - Enthought python包导入优先级

python - 进程的异步生成 : design question - Celery or Twisted

c# - 在 C# 中调用具有多个参数的表达式时出现 NullReferenceException

java - 如何解决 "Expression expected"和 "cannot infer argument"错误?

python 正则表达式只匹配最后一次出现

python/numpy 对掩码数组(和/或选择性排名)进行二维内核排名过滤的最快方法