Python-эквивалент функции filter (), получающей два выходных списка (т.е. раздел списка)

Допустим, у меня есть список и функция фильтрации. Используя что-то вроде

>>> filter(lambda x: x > 10, [1,4,12,7,42])
[12, 42]

, я могу получить элементы, соответствующие критерию. Есть ли функция, которую я мог бы использовать, чтобы выводить два списка, один из совпадающих элементов, один из оставшихся элементов? Я мог бы дважды вызвать функцию filter () , но это некрасиво :)

Изменить: порядок элементов должен быть сохранен, и у меня могут быть одинаковые элементы несколько раз.

54
задан Chris Gerken 3 September 2012 в 04:20
поделиться