我不能找出如何寫這個函數的拉姆達的,因爲雙條件:過濾功能任意嵌套列表
def f(e):
if not isinstance(e,list):
if e >10:
return e
else:
return filter(None,[f(y) for y in e])
my_list=[[1], [2,[3,12, [4,11,12]]], [5,6,13,14],[15]]
>>> f(my_list)
[[[12, [11, 12]]], [13, 14], [15]]
而且,會是怎樣的Python的方式寫這樣一個過濾任意嵌套列表的函數?
你想'None'在其中'e'不是'list'和'ē<= 10'的情況下被退回?此外,比雙重條件更嚴重的是函數的遞歸性質。當函數沒有名字要調用時,你期望如何遞歸? –
「寫這樣一個函數的pythonic方式是什麼」 - 不是lambda? –
@RoryDaulton不,所以我不得不將它過濾出來 – user2314737