Я пытаюсь вынуть числа из списка, содержащего как числа, так и строки, и переместить их в новый список.
x = 0
list1 = ["a", "b", "c", 1, 2, 3, 4, 5, 6, "d", 7]
list2 = []
for item in list1:
if isinstance(item, int):
list2.append(item)
list1.pop(x)
x += 1
list1
list2
Результат не тот, что я ожидаю:
list1
['a', 'b', 'c', 2, 4, 6, 'd']
list2
[1, 3, 5, 7]
Я не понимаю, почему условие ложно для 2-х последовательных номеров из списка, это из-за объявленного пути?
list2 = [x for x in list1 if isinstance(x, int)] list1 = [x for x in list1 if isinstance(x, str)]
- person Shijith   schedule 17.03.2021