3

关于如何在 Python 中做到这一点的任何建议?

if x():
  a = 20
  b = 10
else:
  a = 10
  b = 20

我可以按如下方式交换它们,但不是很清楚(也不是非常pythonic IMO)

a = 10
b = 20
if x():
  [a, b] = [b, a]
4

2 回答 2

11
(a,b) = (20,10) if x() else (10,20)
于 2013-03-19T21:22:40.120 回答
5

在 Python 中交换值a, b = b, a被认为是惯用的

a, b = 10, 20
if x(): a, b = b, a

一件好事是你不要重复10and 20,所以它有点DRY-er

于 2013-03-19T21:23:09.963 回答