为什么我的循环无法识别任何数据值?

时间:2017-11-30 16:36:20

标签: python python-3.x conditional

我正在学习数据结构和算法,并决定启动一个快速代码,将列表分成数据类型。我的目标是有一个循环来检查列表中的每个值,然后使用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)

2 个答案:

答案 0 :(得分:2)

您需要使用type(x)来确定类型。 但你真正想做的是使用:isinstance(a, int)。您可以将第二个参数更改为任何类型,例如str,bool等。

答案 1 :(得分:0)

您可以使用快捷方式,也可以使用EditText appSalary = findViewById(R.id.appSalary_edit_text); String appSalaryText = appSalary.getText().toString() 方法,将单独列表中的每种类型都作为

isinstance

,对其他类型也一样。