我有两个清单:
a = [1,2,3,4]
b = [True,False,True,False]
Run Code Online (Sandbox Code Playgroud)
我希望得到的元素a是coresponding到True中b,不使用for循环.我使用该map函数来解决它,但它出错了:
def f(x,y):
if x:
return y
s = list(map(f,b,a))
Run Code Online (Sandbox Code Playgroud)
s是的[1, None, 3, None],我不想要None,我该怎么办?
用途compress:
from itertools import compress
a = [1,2,3,4]
b = [True,False,True,False]
s = list(compress(a, b))
Run Code Online (Sandbox Code Playgroud)
输出:
[1, 3]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |