基于变量类型的排序列表-python

基于变量类型的排序列表-python,python,list,Python,List,我只是尝试对一个同时包含str和int的列表进行排序,然后删除所有str,只留下一个整数列表。这是我的密码: 列表=[22,“再见”,“再见”,1,7] 对于列表中的l: 如果类型(l)==str: 列表。删除(l) 打印(列表) 我在控制台中看到: [22,‘再见’,1,7] 它只删除了“好”。 有人能告诉我为什么不删除“再见”吗? 使用Python3.4顺便说一句,发生这种情况是因为您在迭代时正在删除 我建议使用列表表达式创建具有所需过滤器的新列表 >>> a_list =

我只是尝试对一个同时包含str和int的列表进行排序,然后删除所有str,只留下一个整数列表。这是我的密码:

列表=[22,“再见”,“再见”,1,7]

对于列表中的l: 如果类型(l)==str: 列表。删除(l) 打印(列表)

我在控制台中看到: [22,‘再见’,1,7]

它只删除了“好”。 有人能告诉我为什么不删除“再见”吗?
使用Python3.4顺便说一句,发生这种情况是因为您在迭代时正在删除
我建议使用列表表达式创建具有所需过滤器的新列表

>>> a_list = [22, "Good", "Bye", 1, 7]
>>> a_list = [l for l in a_list if type(l) != str]
>>> 
>>> a_list
[22, 1, 7]

不妨建议不要将
list
用作变量name@shaktimaan你说得对,改变了!