从列表中删除布尔值[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从列表中删除布尔值[重复]相关的知识,希望对你有一定的参考价值。

将布尔值传递给列表的remove方法时,将删除第一个元素而不是布尔值。但是当再次执行时,它做对了。为什么会发生这种情况?

lst = [1, 2, True]
lst.remove(True)
print(lst)
#Output: [2, True]

lst.remove(True)
print(lst)
#Output: [2]
答案

这是因为1也是bool。在python中,1是True,0是False

另一答案

Python认为1和True相等。使用0和False会发现类似的情况。

。remove()方法删除列表中第一次出现的对象。您的情况是要删除True,并且由于“ 1”为True,因此从列表中删除“ 1”,然后是True。

您可以通过执行此操作来测试

bool(1)

哪个打印:True

以上是关于从列表中删除布尔值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python - 用两个不同列表中的值替换列表的布尔值[重复]

从Python列表中的特定位置删除项目[重复]

如何查看字典/列表并获取位置和布尔值 [重复]

具有重复值的回收站更新

从列表中删除元素时出现 UnsupportedOperationException [重复]

30 段 Python 实用代码