- 主题:求教一个语法问题
a=[1,2,3,....]
b=[True,False,True...]
a和b大小一样,现在要求a里面把b中false的的位置置成0,就是
c=[1,0,3...]
不写循环的话,怎么写最方便呢
--
修改:yatobiaf FROM 111.207.148.*
FROM 111.207.148.*
这个好,太感谢啦~
【 在 sloanwall 的大作中提到: 】
: 不用循环
: c=list(map(lambda x,y:x*y,a,b))
:
--
FROM 223.104.38.*
对,底层都是循环,只不过语法写的简单了一点而已,效率没有提升
【 在 hongyan2022 的大作中提到: 】
: [... for (a, b) in zip(...)...]
: [... for range(...) ...]
: a * [ 1 if... else 0 for be in b]
: ...................
--
FROM 111.207.148.*
这个试过了不行
【 在 accidently 的大作中提到: 】
: 如果有numpy的话,直接 a*b 就可以了
--
FROM 111.207.148.*
哦!要转成np.array
【 在 accidently 的大作中提到: 】
: [upload=1][/upload]
--
FROM 111.207.148.*