假設如下功能:使用第二個條件列表Python的方式推導
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(不要重複自己)原則。這個代碼如何改進?
檢查我的回答,我沒有你的確切功能,因此很難對其進行測試在同樣的環境,但我認爲它應該做的伎倆 – dhdavvie
這將是很好的瞭解你真正嘗試解決。 – ferdy