[英]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.