Tyl*_*and 0 python boolean list python-3.x
所以,我正在尝试从 Python 的列表中删除非整数(非常令人兴奋的东西)。我遇到了以下代码的问题,但我似乎无法解决:
list_a = ["a", 1, 2, 3, False, [1, 2, 3]]
for item in list_a:
if not isinstance(item, int):
list_a.remove(item)
Run Code Online (Sandbox Code Playgroud)
我试图删除列表中的所有非 int 项目,但上面的代码不会删除 False。
我想要的是:[1, 2, 3]
我得到什么:[1, 2, 3, False]
任何帮助解决这个问题的帮助将不胜感激!
你的问题是它是以下的子类:bool int
>>> issubclass(bool, int)
True
Run Code Online (Sandbox Code Playgroud)
因此,所有布尔值都是整数(其中 False 为 0,True 为 1),可用于索引等。您可以type(item) is bool改为测试。