按顺序切换值

时间:2017-12-08 22:12:12

标签: python

流动代码是否有pythonic较短版本:

def method(a,b)
    if a > b:
        pass       
    else:
        a, b = b, a

3 个答案:

答案 0 :(得分:2)

这更短:

def method(a,b)
    if a <= b:
        a, b = b, a

我想你可以将它压缩成一行,但我不知道它是否更具可读性:

(a,b) = (b,a) if a <= b else (a,b)

答案 1 :(得分:1)

您可以在一个作业中执行此操作:

a, b = max(a, b), min(a, b)

答案 2 :(得分:0)

一个简单的简化就是翻转条件案例。 Python方法的默认返回值为None,因此最终结果与您的代码段相同。

def method(a, b):
  if a <= b:
    a, b = b, a

如果您提供更多关于问题的背景信息,我们可能会做得更多;你想要完成什么?