我试图创建一个接受输入列表(混合类型)并仅从列表中提取数字的函数。 我不断收到此“int”对象不可下标错误。
List = ['M',1,'N',2,'0',3.5]
a_List = [x[:3] for x in List if type(x)!= str]
print(a_List)
答案 0 :(得分:2)
此时,x
是符合条件的整数,您不能对整数进行切片。
尝试 x
而不是 x[:3]
Listt = ['M',1,'N',2,'0',3.5]
a_List = [x for x in Listt if type(x)!= str]
print(a_List)
>> [1, 2, 3.5]
答案 1 :(得分:2)
您可以使用列表推导式。
List = ['M',1,'N',2,'0',3.5]
list_2 = [num for num in List if isinstance(num, (int,float))]