Skip to main content
 首页 » 编程设计

python之从python中的另一个列表获取列表的相应元素时得到错误的列表使用map函数

2025年05月04日24bonelee

我有两个列表:

a = [1,2,3,4] 
b = [True,False,True,False] 

并且我想获取a中与b中的True对应的元素,不要使用for循环。 我用map函数来解决,但是出错了:

def f(x,y): 
    if x: 
        return y 
s = list(map(f,b,a)) 

s 是[1, None, 3, None],我不想要None,怎么办?

请您参考如下方法:

使用压缩:

from itertools import compress 
a = [1,2,3,4] 
b = [True,False,True,False] 
s = list(compress(a, b)) 

输出:

[1, 3]