我想知道是否有做以下的更簡潔的方法:建議改變功能在地圖上表達
當h
,t
,r
是numpy的陣列,我要做到以下幾點:
hL, tL, rL = map(lambda m: len(set(m)), [h, t, r])
它計算單個數組中非重複項的數量。然而,lambda表達式像拇指一樣突出。如果不重複的東西沒有問題,我會寫:
hL, tL, rL = map(len, [h, t, r])
這是太酷了。我們完全分配了lambda表達式。在Haskell已經涉足了幾個月,我真的開始相信了Python應該能夠提供一個鏈接操作就像在Haskell .
,這樣,第一個表達式可以簡單地歸納爲以下:
hL, tL, rL = map(len . set, [h, t, r])
哪個好多了!
我看到了一些使用reduce
方法來做到這一點,但這比以前的方法簡單得多。我想知道有沒有人知道他們可以解決問題?我知道有非嚴格評估的問題,可能使程序不穩定,但是當我們正在處理這樣的簡單事情時,這應該不是一個問題?
實際上看起來更好。謝謝! – ssm