Есть ли идиома функционального программирования для фильтрации списка на истинные и ложные?

Допустим, у вас есть некоторый список L , и вы хотите разбить его на два списка, основанные на некоторой логической функции P . То есть вам нужен один список всех элементов l , где P (l) - истина, а другой список, где P (l) - ложь.

] Я могу реализовать это в Python следующим образом:

def multifilter(pred,seq):
    trues,falses = [],[]
    for x in seq:
        if pred(x):
            trues.append(x)
        else:
            falses.append(x)
    return trues,falses

Мой вопрос: есть ли идиома функционального программирования, которая выполняет это?

7
задан perimosocordiae 13 September 2010 в 02:27
поделиться