我写了一个简单的python3程序。在其中我将(int或float)和(字符串)分开在一个单独的列表中。但它并没有让我把两个连续的数字分开。调试后我注意到弹出列表后,索引正在改变。但我找不到适合这个问题的解决方案。我也在互联网上搜索,但没有找到任何合适的解决方案。我必须使用FOR LOOP来做。另外还告诉我为什么我应该使用While循环来做它?
代码是:
#Python list to parse numbers from one list to another
import types
list_int = []
list_mixed = ["sami", "sadaf", 123, 4123.23, "Ami", 3131, "Abu"]
x = 0
#Copying the list
list_strings = list_mixed
for items in list_mixed:
if isinstance(items, (float, int)):
list_int.append(items)
list_strings.pop(x)
x += 1
print(list_strings)
print(list_int)
输出:
['sami', 'sadaf', 4123.23, 'Ami', 'Abu']
[123, 3131]
我希望这个浮点数也进入list_int列表