Załóżmy następującą funkcję:pythonowy sposobem korzystania z drugiego warunku w listowych
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
Jak widać, istnieją dwa różne scenariusze w zależności od par1
. Nie podoba mi się to, że linia 3 i linia 5 są prawie identyczne i nie przestrzegają zasady DRY (Do not Repeat Yourself). W jaki sposób można poprawić ten kod?
Sprawdź moją odpowiedź, nie mam swoich dokładnych funkcji, więc trudno, aby przetestować go w tym samym środowisku, ale liczyć się powinna rade – dhdavvie
byłoby miło, aby zrozumieć, co rzeczywiście starają się rozwiązać . – ferdy