我有两个列表:
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]
