返回[1,0]或[0,1]的优雅方式

时间:2017-09-10 01:52:29

标签: python performance size

我试图找到一种优雅而有效的输出[1,0][0,1]的方法,具体取决于v或{{0的值1 1}}分别。

要清楚

i/o
0 >>> [1,0]
1 >>> [0,1]

非常简单的任务,虽然我想知道最多的' pythonic'实现这一目标的方法是。

您有什么想法?

4 个答案:

答案 0 :(得分:5)

嗯,为了便于阅读,我真的很喜欢你的解决方案。但是你想要更短的东西:

[1-v, v]

诀窍。

答案 1 :(得分:3)

一些选项(这里没有错误处理)。我会根据情况选择g()h()f()是愚蠢的。

PAIRS = {
    0 : [1,0],
    1 : [0,1],
}

def f(n):
    return sorted(range(2), reverse = not n)

def g(n):
    return PAIRS[n]

def h(n):
    return [0,1] if n else [1,0]

答案 2 :(得分:1)

bitwise exclusive or (XOR)也适用。

[v^1, v]

答案 3 :(得分:0)

您也可以使用:

[(v+1) % 2, v]