Как удалить определенный тип данных из списка?

Дан список:

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)]
→ Ссылка