Python2.7代码重构

时间:2018-02-14 08:31:38

标签: python python-2.7

如果我尝试合并,我的PR将被拒绝。

如何重构这个更优雅/更短/更有意义?

if len(my_list) < 2:
    raise Error("No List to preview")
if license_metadata[0]["active"] 
    active = ListSetting(**my_list[0]                                                   
    preview = ListSetting(**my_list[1])
else:
    active = ListSetting(**my_list[1] .                           
    preview = ListSetting(**my_list[0])

抱歉,我必须将var名称设为通用名称。代码库是私有的&amp;在NDA下。

1 个答案:

答案 0 :(得分:1)

if len(my_list) < 2:
    raise Error("No List to preview")
a = ListSetting(**my_list[0])
b = ListSetting(**my_list[1])
active,preview = (a, b) if license_metadata[0]["active"] else (b, a)

您可以在上下文中为变量a和b表示名称。

**是关键字参数字典,以下是其他人解释What does ** (double star/asterisk) and * (star/asterisk) do for parameters?

的参考资料