这里有一些代码,我正在努力使其更可读。它可以工作,但是嵌套的for循环和try/if使得乍看之下有点难以理解发生了什么。
有人能给我一些建议,告诉我如何加入嵌套for循环或压缩这些代码吗?
matcher = None
if re.match(_RE_OBJECT, nodes.replace(LQMN, '')):
matcher = alias
else:
for x in lister[0].conditions:
for y in x.codes:
try:
if y.id.split(',')[1] == condition:
matcher = x.codenames
except IndexError:
pass
可以使用一行if和continue语句而不是try语句:
并用有意义的名称替换一些变量。
可以使用生成器表达式嵌套循环并添加使
IndexError
处理程序过时的筛选器:在这里,除了使用
x
和y
之外,使用更有意义的名称会更好地提高可读性:相关问题 更多 >
编程相关推荐