Python фильтруем list кортежей (tuples)

  • Python
Иногда не хватает силы джанговского ORM, и не хочется использовать extra для написания архи сложного запроса, который, допустим фильтрует результаты annotate.

Допустим у нас есть список кортежей, который нужно отфильтровать по количеству вхождений определенного элемента кортежа в массиве.

Данное решение не идеальное, но работает:
filter_func = lambda lst, item_to_search: len([item for item in lst if item[1] == item_to_search[1]]) > 1 
duplicated_result_ids = [item for item in tuples_list if filter_func(participant_result_list, item)]


Таким образом получаем список только из тех кортежей, которые имеют одинаковый элемент.

P.S. Жду ваших предложений для решения данной задачи

0 комментариев

Оставить комментарий