簡體   English   中英

解釋一個lambdas列表

[英]Interpreting a list of lambdas

我有一個包含一些lambda元素的列表:

l=['A',lambda x:x*2,lambda x:x*3]

在執行lambda之后如何將此列表附加到另一個(如下所示 - 顯然這個不起作用):

m=list(k=k(3) if isinstance(k,types.FunctionType) else k for k in l)

預期的是:

m=['A',6,9]

這可能嗎?

你可以使用callable

>>> l = ['A', lambda x:x*2, lambda x:x*3]
>>> m = [k(3) if callable(k) else k for k in l]
>>> m
['A', 6, 9]

您確定要將此列表附加到其他列表,還是創建新列表? 以防您碰巧使用不推薦使用callable的python版本:

for element in l:
    m.append(element(3) if hasattr(element, '__call__') else element)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM