Каждый Max может быть разным.
Мне нужно пропустить кортежи, в которых элемент достиг максимального значения, в этом случае сохраняется только кортеж с «1» в оставшейся позиции.
Например, если максимальное значение второго элемента тройки равно 4, мне нужно сохранить (1,4,1) но пропустить
(1,4,2) , (1,4,3) ... (2,4,1) и т. д.
В Python, как игрушечный пример с жестко закодированными значениями Max (5,4,2) следующий предикат itertools.filterfalse выполняет эту работу:
Код: Выделить всё
def filtering_logic(y):
if y[0]==5:
if y[1] > 1 or y[2] >1:
return True
if y[1]==4:
if y[0] > 1 or y[2] >1:
return True
if y[2]==2:
if y[0] > 1 or y[1] >1:
return True
return False
Мой типичный сценарий — это кортежи с 16–20 элементами с максимальными значениями на отметке 50–70.
Какой подход рекомендуется использовать?
Подробнее здесь: https://stackoverflow.com/questions/793 ... a-itertool
Мобильная версия