2016-08-26 2 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 Спасибо, согласен. Просто любопытно, если я делаю многословно здесь, и у кого-то есть более сжатое, но читаемое решение –

ответ