如何根据类型自动拆分Python列表?

如何根据类型自动拆分Python列表?,python,Python,在我开始之前,我试着在其他地方寻找这个,但什么也没找到,所以请温柔一点 我尝试使用一个简单的for循环,根据数据类型将一个列表拆分为两个列表 我想把字符串和其他东西分开 这就是我到目前为止所做的: list1 = [1, 2, 3, 4, "Missing1", 5, 6, 7, 8, 9, "Missing2", 10] new_list = [] str_list = [] i = 0 for i in list1: if type(int

在我开始之前,我试着在其他地方寻找这个,但什么也没找到,所以请温柔一点

我尝试使用一个简单的for循环,根据数据类型将一个列表拆分为两个列表

我想把字符串和其他东西分开

这就是我到目前为止所做的:

list1 = [1, 2, 3, 4, "Missing1", 5, 6, 7, 8, 9, "Missing2", 10]

new_list = []
str_list = []
i = 0

for i in list1:
    if type(int):
        new_list.append(i)
    elif type(float):
        new_list.append(i)
    else:
        str_list.append(i)


print(new_list)
print(str_list)
但我的结果是:

[1, 2, 3, 4, 'Missing1', 5, 6, 7, 8, 9, 'Missing2', 10]
[]

Python似乎将这些字符串视为整数——我该如何更改它?

您的代码中有一些错误。这是固定的

new_list=[]
str_list=[]
对于清单1中的i:
如果类型(i)==int:
新列表。附加(i)
elif类型(i)=浮动:
新列表。附加(i)
其他:
str_list.append(一)
下面是一个更通用的拆分列表代码:

从集合导入defaultdict
lists=defaultdict(列表)
对于清单1中的i:
列表[类型(x)]。附加(i)

现在,
列表[int]
列表[float]
列表[str]
都将提供自己类型的列表。

您的代码中有一些错误。这是固定的

new_list=[]
str_list=[]
对于清单1中的i:
如果类型(i)==int:
新列表。附加(i)
elif类型(i)=浮动:
新列表。附加(i)
其他:
str_list.append(一)
下面是一个更通用的拆分列表代码:

从集合导入defaultdict
lists=defaultdict(列表)
对于清单1中的i:
列表[类型(x)]。附加(i)

现在,
列出[int]
列出[float]
,和
列出[str]
都将提供自己类型的列表。

条件
如果类型(int):
不可能检查值
i
是否为
int
,因为变量
i
根本不出现在条件中。另请参见条件
if type(int):
无法检查值
i
是否为
int
,因为变量
i
根本不出现在条件中。另请参见“谢谢!”!它应该单独查看每个索引,这是有道理的。还有,你的替代方法非常干净!非常感谢。它应该单独查看每个索引,这是有道理的。还有,你的替代方法非常干净!