убрать большие числа из списка
у меня есть список [3,1,4,2,10,4,10...42]. Хочу убрать из него все числа, которые отличаются от остальных чисел списка в 1.5 раза. Делаю вот так:
def get_number_with_multiple_difference(numbers: list):
numbers.sort(reverse=True)
return numbers[0] if len(numbers) > 1 and np.mean(numbers[1:]) * 1.5 <= numbers[0] else None
Таким образом нахожу только 1 число, а нужно проверить все. Нужен какой-нибудь более изящный способ это сделать... Без костылей...
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Предположу, что имелось в виду что-то такое:
return [n for i,n in enumerate(numbers) if np.mean(numbers[:i] + numbers[i+1:]) * 1.5 <= n]