2016-08-26 124 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)] 

如果ab是一本字典它不會工作,等

+1

爲什麼?簡潔並不意味着清晰。 –

+3

因爲你沒有展示你做了什麼努力,你會得到低估。 – limbo

+0

@RushyPanchal謝謝,我同意。只是好奇,如果我在這裏做詳細的工作,並且有人有更簡潔而可讀的解決方案 –

回答

2
def func(a, b): 
    return [x for x in [a, b] if x]