Как удалить определенный тип данных из списка?
Дан список:
a = [0,5,4,546,43,5365,64,6,756,'hi','ju']
Как из этого списка удалить, к примеру, только строковые данные 'hi', 'ju'?
Ответы (2 шт):
Автор решения: nomnoms12
→ Ссылка
Проверить тип можно функцией type, а дальше, либо удалить элементы неподходящего типа в цикле, либо сформировать новый список с помощью генератора, проверяя некоторое условие.
Пример:
a = [0, 5, 4, 546, 43, 5365, 64, 6, 756, 'hi', 'ju']
result = [x for x in a if type(x) != str]
print(result) # [0, 5, 4, 546, 43, 5365, 64, 6, 756]
Автор решения: Victor VosMottor
→ Ссылка
a = [0, 5, 4, 546, 43, 5365, 64, 6, 756, 'hi', 'ju']
result = list(filter(lambda el: not isinstance(el, str), a))
a = [0, 5, 4, 546, 43, 5365, 64, 6, 756, 'hi', 'ju']
result = [i for i in a if not isinstance(i, str)]