python - 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 = ""
解决方案
一系列仅在数字上不同的变量名称可以重构为一个 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] = ""
推荐阅读
- android - 使用 Signature Android glide 查找缓存的图像
- powershell - 如何检查 Vcenter 上的 NTP 设置
- c++ - 好友功能仍然无法访问私人会员
- java - 在java中传递后代而不是接口
- javascript - 如何使用 jquery 从 ajax 结果(json 对象)访问数据
- ios - 在 UICollectionView 中滚动后,标题视图没有重新排列
- javascript - 获取 HTML 表格中多个元素的 Id 和 Value
- python-3.x - Python列表拆分并仅拉取某些项目以创建新列表
- python - 在列表中查找重复项并在每个字符后添加连续的字母字符
- time-series - 橙色的时间序列预测