如何根据类型自动拆分Python列表?
在我开始之前,我试着在其他地方寻找这个,但什么也没找到,所以请温柔一点 我尝试使用一个简单的for循环,根据数据类型将一个列表拆分为两个列表 我想把字符串和其他东西分开 这就是我到目前为止所做的:如何根据类型自动拆分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
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
根本不出现在条件中。另请参见“谢谢!”!它应该单独查看每个索引,这是有道理的。还有,你的替代方法非常干净!非常感谢。它应该单独查看每个索引,这是有道理的。还有,你的替代方法非常干净!