簡體   English   中英

嘗試在列表理解中使用 lambda function 進行過濾

[英]Trying to filter with a lambda function inside of a list comprehension

我正在嘗試使用列表理解從列表中刪除所有偶數索引。 我正在使用 lambda function 過濾偶數索引,為什么它不起作用?

輸入:

data = [e for i, e in enumerate(raw_data) if lambda i: True if i % 2 != 0 else False]

Output:

Input In [90]
data = [e for i, e in enumerate(raw_data) if lambda i: True if i % 2 != 0]
                                             ^
SyntaxError: invalid syntax

output 返回我由 lambda 定義的語法錯誤。 是否不能在列表理解中使用 lambda 作為過濾器參數?

編輯 1:我知道沒有理由使用 lambda 當我可以將條件直接放入列表理解中時,我只是好奇它為什么不起作用。

編輯 2:刪除了圍繞列表理解的無用 numpy 代碼

編輯 3:從 lambda 中刪除了 return 語句

result = [i for i in range(10) if (lambda i: i%2 == 0)(i)]

由於 lambda 是一個匿名的 function,它仍然是一個 function。 您需要將值傳遞給 lambda。

暫無
暫無

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

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