2016-08-26 5 views
-4

次のコードを1-2行にリファクタリングして簡潔で読みやすいように提案する人はいませんか。リファクタリングPythonコード

def func(a, b): 
    c = [] 
    if a: 
     c.append(a) 
    if b: 
     c.append(b) 
    return c 

私は、次の試してみました:

def func(a, b): 
    return [a*(a is not None), b*(b is not None)] 

aまたはbが辞書であればそれは動作しません、など

+1

なぜ?簡潔さは明快さを意味するものではありません。 –

+3

あなたはあなたがそれをするために取った努力を示していないので、あなたはdownvotedになっています。 – limbo

+0

@RushyPanchalありがとう、私は同意します。私がここで冗長にしているのであれば、誰かがもっと簡潔で読みやすい解決策 –

答えて

2
def func(a, b): 
    return [x for x in [a, b] if x] 
関連する問題