【发布时间】:2017-11-30 16:36:19
【问题描述】:
我正在学习数据结构和算法,并决定启动一个快速代码来将列表分成数据类型。我的目标是创建一个循环来检查列表中的每个值,然后使用 if 语句来确定它是 int、bool、string 还是 float。我不知道为什么,但是条件语句的某些东西是关闭的,因为它运行了我最后的“else”语句。
myList = ['test',3,True,'chicken',False,95,33/4,.02,'rabbit',False]
myInts = []
myBools = []
myStrings = []
myFloats = []
for a in myList:
if a == int:
myInts.append(a)
elif a == bool:
myBools.append(a)
elif a == str:
myStrings.append(a)
else:
myFloats.append(a)
print('Ints:', myInts)
print('Bools:',myBools)
print('Strings:',myStrings)
print('Floats:',myFloats)
【问题讨论】:
-
号码永远不会是
int、bool、str、float或str。这些是类型,值不等于它们的类型。使用type(a) is int等。 -
宁可使用
isinstance(a, bool)等
标签: python python-3.x conditional