重複の可能性:
2 つの出力リスト (つまり、リストのパーティション) を取得する filter() に相当する python
Enumerable.partition
Python 標準ライブラリに、 Ruby の動作をシミュレートし、渡された述語関数に基づいて 2 つのリスト/タプルを取得するためにオブジェクトを 1 回だけ反復する組み込み関数またはモジュールはあり ますか?
重複の可能性:
2 つの出力リスト (つまり、リストのパーティション) を取得する filter() に相当する python
Enumerable.partition
Python 標準ライブラリに、 Ruby の動作をシミュレートし、渡された述語関数に基づいて 2 つのリスト/タプルを取得するためにオブジェクトを 1 回だけ反復する組み込み関数またはモジュールはあり ますか?
この質問から恥知らずに盗まれました-次のtee
機能を使用できますitertools
:
from itertools import tee
def split_on_condition(seq, condition):
l1,l2 = tee((condition(item),item) for item in seq)
return (i for p, i in l1 if p), (i for p, i in l2 if not p)