python - 如何删除所有这些“错误”布尔值
问题描述
如何从列表中删除所有“假”布尔值?
我将 csv 图表的值转换为布尔值,然后转换为具有此功能的列表:
new_list=list1.values.tolist()
但是我怎样才能删除所有的 'False' 和 '0' 并只显示所有的 'True' 和 '1' 值?
新列表:
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, True, True],
[1, 0, 0, 0, 0, 0, True, False, False, True, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, True, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[1, 0, 0, 0, 0, 0, True, False, True, True, False, True, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
解决方案
您可以使用这样的简单列表推导:
a = [1, 0, 0, 0, 0, 0, True, False, False, True, False, False, True]
b = [ x for x in a if x]
这将只留下评估为“真”的值,即布尔真、任何非 0 的整数和任何非空字符串。
如果你有一个列表列表,你可以像这样嵌套它们:
new_list = [
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, True, True],
[1, 0, 0, 0, 0, 0, True, False, False, True, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, True, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True],
[1, 0, 0, 0, 0, 0, True, False, True, True, False, True, True],
[0, 0, 0, 0, 0, 0, True, False, False, False, False, False, True]]
clean_list = [[x for x in y if x] for y in new_list ]
推荐阅读
- php - AWS - Elastic BeanTalk:[错误] 'php' 未找到或无法统计
- javascript - 将每个数组转换为对象
- ionic-framework - Ionic 3,可编辑选择
- php - 解析嵌套数组并将其保存在具有父 ID 的 mysql db 中
- c++ - 子类化 STL 容器:范围构造函数不起作用
- javascript - 如何在 2 个反应本机应用程序之间共享通用代码
- objective-c - 找到项目,然后在 NSMutableData 数组中删除它
- cors - 即使响应标头中存在访问控制允许来源→*也没有'访问控制允许来源(在邮递员中检查)
- android - Android Studio -- 设计器屏幕空白
- java - 如何将此排序映射方法从 java 转换为 Kotlin