我一直在尝试通过单行列表理解来执行以下操作:给定一个整数数组和一个整数,将其称为int1,我想创建一个仅包含0和1的新数组,以便该新数组如果原始数组中该位置的int1为1,则为1,否则为0。
有没有办法像在C中那样将True / False设为1/0?
array1 = [1,4,2,4,5,6,4,3]
array2 = [x == 4 for x in array1 ]
=> [False, True, False, True, False, False, True, False]
只需将布尔值转换为int
,即可使用int
函数,如下所示
array2 = [int(x == 4) for x in array1]
输出量
[0, 1, 0, 1, 0, 0, 1, 0]
之所以可行,是int
因为在Python中,Boolean是的子类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句