重複の可能性:
2 つの出力リスト (つまり、リストのパーティション) を取得する filter() に相当する python
Python に配列があり、要素が述語に一致する配列と要素が一致しない配列の 2 つの配列に分割したいと考えています。
次よりも簡単な(またはよりPythonicな)方法はありますか:
>>> def partition(a, pred):
... ain = []
... aout = []
... for x in a:
... if pred(x):
... ain.append(x)
... else:
... aout.append(x)
... return (ain, aout)
...
>>> partition(range(1,10), lambda x: x%3 == 1)
([1, 4, 7], [2, 3, 5, 6, 8, 9])