У меня есть массив, который содержит числа с одним десятичным знаком. Десятичное число может быть только 1, 2 или 3 (устанавливается пользователем, поэтому нет необходимости в алгоритме). Я хочу создать функцию, которая исключает элементы в массиве, которые не содержат все три знака после запятой.
Например, при рассмотрении следующего массива и ожидаемого выхода:
a = np.array([1.1, 1.3, 1.2, 2.1, 2.2])
b = np.array([1.3, 1.2, 1.1, 7.3, 7.1, 8.1, 8.2, 8.3])
#desired output
a_usefull = [1.1, 1.3, 1.2]
b_usebull = [1.3, 1.2, 1.1, 8.1, 8.2, 8.3]
Элемент 2.1
и 2.2
в a исключен, поскольку десятичная дробь .3 отсутствует в обеих. Элемент 7.3
и 7.1
исключен, поскольку отсутствует десятичный знак .2. Обратите внимание, что порядок исходного массива является импортным, поэтому, например, [1.3, 1.1, 1.2]
должен выглядеть как [1.3, 1.1, 1.2]
Другое условие состоит в том, что выходные данные, например, [1.1, 1.3, 2.1, 2.2, 1.2, 2.3]
должны быть точно такими, как это видно. Так, например, это [1,1,2,1,2,2] не должно быть [1,1,1,2,2,2]. Порядок не должен меняться.
Я думал собрать все элементы в массиве и сначала подсчитать их. Тем не менее, код должен быть дан в функции. Может ли кто-нибудь помочь с циклом время или для этого?
def remove(id):
return useful_elements
Спасибо!