尝试将1/0的列表转换为布尔列表。
[1,0,1,0] == 1
似乎不起作用。
%>%
不起作用。
还有其他方式(希望非列表理解)吗?
答案 0 :(得分:7)
在python 2中
bool_list = map(bool,int_list)
在python 3中:
bool_list = list(map(bool,int_list))
答案 1 :(得分:3)
[x==1 for x in list]
是一种常规方法,如果您的列表中包含0
或1
以外的条目,则可以轻松进行调整。
答案 2 :(得分:1)
尝试使用列表推导:
lst = [1, 0, 1, 0]
[bool(x) for x in lst]
=> [True, False, True, False]
答案 3 :(得分:1)
使用numpy
模块的解决方案:
import numpy as np
l = np.array([1,0,1,0])
print((l > 0).tolist())
输出:
[True, False, True, False]
l > 0
- 如果数组l
大于0
,则会对其进行测试。这些测试的结果是结果数组
在处理多维数组时,这种方法也非常好:
l = np.array([[1,0,1,0], [1,1,1,1], [0,0,1,0]])
print((l > 0).tolist())
输出:
[[True, False, True, False], [True, True, True, True], [False, False, True, False]]
答案 4 :(得分:1)