Итак, я возился с удалением нецелых чисел из списка в Python (очень интересный материал). Я наткнулся на вопрос со следующим кодом, который я не могу показаться, чтобы решить:Проблема при удалении false из списка с isinstance
list_a = ["a", 1, 2, 3, False, [1, 2, 3]]
for item in list_a:
if not isinstance(item, int):
list_a.remove(item)
Я пытаюсь удалить все не ИНТ элементов в списке, но приведенный выше код не удаляет значение False.
Что я хочу: [1, 2, 3]
Что я получаю: [1, 2, 3, False]
Любая помощь выяснить это будет высоко ценится!
Проверьте http://pythontutor.com –
False - это значение, которое равно 0, что является целым числом! – Li357
'False' внутренне представлен как целое число 0. Фактически' False == 0' является 'True', но' False is 0' is not. Использовать оператор 'is' для удаления' False'. – DyZ