【发布时间】:2018-07-18 10:55:35
【问题描述】:
所以我试图通过一个列表并识别不同的 int、float 和 bool。现在我从堆栈here 研究后知道,根据最初的 Python 版本,bool 是 int 的子类,我需要一些特殊处理来从 int 中识别 bool,如下所示:
listone = ['232.54',False,'656',27.3,'5',' ',True,'-434','76.67','8.45','s',23]
for i in listone:
if isinstance(i,int):
print(i,'INT')
elif isinstance(i,float):
print(i,'FLOAT')
elif isinstance(i,str):
print(i,'STR')
elif isinstance(i,bool):
#SPECIAL HANDLING
print(i,'BOOL')
但是即使这样做了,我仍然得到打印输出:
232.54 STR
False INT
656 STR
27.3 FLOAT
5 STR
STR
True INT
-434 STR
76.67 STR
8.45 STR
s STR
23 INT
现在,有什么方法可以通过一些特殊处理打印出来,而不使用像 this 这样的外部验证器或使用“type() ==”? 谢谢
【问题讨论】:
标签: python python-3.x boolean