1
我想知道是否有更多pythonic方式,或者即使這樣做是可以接受的。調用列表理解for循環中的方法
我想調用列表理解中的某些方法,雖然我不需要返回任何值,但它只是一個setter。
代碼:
def do_logic(self):
[self.set_key(j) for i in xrange(2, CONSTANT) if self.lis[i] != 1 for j in xrange(i*2, CONSTANT, i)]
在我眼裏它似乎並不像正確的方式給它,有什麼建議?
等等,所以你實際上並沒有使用這個列表?只需使用for循環。 –
For循環更快。也許更多pythonic將是**地圖**。 – Prune
@普蘭地圖是*最糟糕的*。因爲如果你試圖在python3中運行代碼,它甚至不會執行調用,因爲在python3中map是懶惰的。在任何情況下,調用'map'或列表理解都是**表達式**和表達式應該儘可能無副作用,它們的目的是*返回一個值*。所以如果你沒有價值返回你應該只使用簡單的語句:即明確的「for」。 – Bakuriu