首页 > 解决方案 > python group多个类似的if语句

问题描述

如何对大量类似的 if else 语句进行分组,或者像下面的良好实践那样编写?

if len(G72List) > 1 and G72List[1] != "":
    G7201Value = G72List[1]
else:
    G7201Value = ""

if len(G72List) > 5 and G72List[5] != "":
    G7205Value = G72List[5]
else:
    G7205Value = ""

if len(G72List) > 6 and G72List[6] != "":
    G7206Value = G72List[6]
else:
    G7206Value = ""

if len(G72List) > 7 and G72List[7] != "":
    G7207Value = G72List[7]
else:
    G7207Value = ""

if len(G72List) > 8 and G72List[8] != "":
    G7208Value = G72List[8]
else:
    G7208Value = ""

if len(G72List) > 9 and G72List[9] != "":
    G7209Value = G72List[9]
else:
    G7209Value = ""

if len(G72List) > 10 and G72List[10] != "":
    G7210Value = G72List[10]
else:
    G7210Value = ""

标签: python

解决方案


一系列仅在数字上不同的变量名称可以重构为一个 dict(或者如果您从 0 开始并以 1 递增,则可能是一个列表)。然后可以将重复分解为 for 循环。

GValue = {}
for i in [1, *range(5, 11)]:
    if len(G72List) > i and G72List[i] != "":
        GValue[7200+i] = G72List[i]
    else:
        GValue[7200+i] = ""

推荐阅读