【发布时间】:2017-08-14 11:22:11
【问题描述】:
让我们假设以下函数:
def myfun(my_list, n, par1=''):
if par1 == '':
new_list = [[my_fun2(i,j) for j in range(n)] for i in range(n)]
else:
new_list = [[my_fun2(i,j) for j in range(n)] for i in range(n) if my_fun2(i,n) == par1]
return new_list
如您所见,根据par1,有两种不同的情况。我不喜欢第 3 行和第 5 行几乎相同,并且不遵循 DRY(不要重复自己)原则。如何改进这段代码?
【问题讨论】:
-
检查我的答案,我没有你的确切功能,所以很难在相同的环境中测试它,但我认为它应该可以解决问题
-
很高兴了解您实际尝试解决的问题。
标签: python if-statement list-comprehension