从列表理解映射?

问题描述 投票:0回答:2

我遇到了这个抓取问题,它本身是无关紧要的,但想知道是否可以从列表理解执行map(),这意味着可迭代是列表理解?

以下返回我期望的空列表

[0, 2, 4, 6, 8] 

def foo() -> list[int]:
    result: list = []
    map(result.append, [x for x in range(10) if x % 2 == 0])
    print(result)

我想问题是map函数本身的可迭代是否可以是列表理解?这个具体的例子本身并不重要。

python list-comprehension
2个回答
0
投票

map 函数的可迭代本身是否可以是列表理解?

当然可以。

返回我期望的空列表 [0, 2, 4, 6, 8] :

map
。您从未收集过地图的结果,因此从未对其进行评估。


0
投票

当然,列表理解计算为一个列表,这是一个适合

map
的可迭代对象。

您的情况的问题是

map
返回的迭代器从未使用过,因此
result.append
从未被调用。

© www.soinside.com 2019 - 2024. All rights reserved.