关于python:需要使用另一个列表中的值创建列表,这些列表只能包含特定类型的值

Need to make lists with the values from another list. These lists must contain only a specific type of value

本问题已经有最佳答案,请猛点这里访问。

需要使用其他列表中的值创建列表。这些列表只能包含特定类型的值,即字符串、整数列表、元组等。这是原始列表。

1
x = [55.5,'hello','abc',10,'5','x5',0.25,['A',2,1.5],5,2,5.3,'AEIOU',('dog','cat','chicken'),[1,2,3],1001,['a',1],'world','01/10/2015',20080633,'2.5',0.123,(1,2,'A','B'),5,'chicken',2016,3.1416]

我试过用这个但没有成功:

1
2
3
4
5
for i in range(len(x)):
    if x[i].is_integer() == True:
        intlist.append(x[i])
    elif x[i].isalpha() == True:
        strlist.append(x[i])

这些是方法,而不是函数。.is_integer()方法是我在任何对象上都没有看到的方法,.isalpha()只在字符串上。您应该检查具有不同功能的类型,例如isinstance()

1
2
3
4
5
for item in x:
    if isinstance(item, int):
        intlist.append(item)
    elif isinstance(item, str):
        strlist.append(item)

注意,我也使用for item in x:而不是索引。