4
A
答えて
9
値がハッシュ可能な場合は、重複を削除する最も簡単な、非常識な方法はset
を使用することです:
values = mygenerator()
unique_values = set(values)
しかし、気を付ける:セットは値がもとあったどのような順序覚えていませんこれはシーケンスをスクランブルします。
以下の機能は、目的に応じてset
より優れている可能性があります。これは、順不同で他の値のいずれかを得ることなく、重複を除外し:1つの引数、ハッシュ可能な値の任意の反復可能と
def nub(it):
seen = set()
for x in it:
if x not in seen:
yield x
seen.add(x)
コールnub
を。同じ項目をすべて生成するが、重複を削除したイテレータを返します。
+0
+1、素敵なデコレータ – fmark
3
itertools.groupby()
あなたが少しの作業をしたい場合は、隣接する複製を折りたたむことができます。
print [x[0] for x in itertools.groupby([1, 2, 2, 3])]
+0
入力はソートする必要がありますが、それでも非常に良いです! – Ale
関連する問題
- 1. Pythonクラスの複製
- 2. ジェネレータの製品そのもの
- 3. Python:複製しないで複製リストを複製する方法
- 4. cv2 pythonでイメージを複製
- 5. ユーザー名ジェネレータのPython
- 6. Pythonタプル対ジェネレータ
- 7. Pythonジェネレータとreduce
- 8. Pythonジェネレータ変換
- 9. JavaScriptでのPython配列インデックスシステムの複製
- 10. Python - 自己複製クラスオブジェクトインスタンスの作成
- 11. Stop Pythonのジェネレータでのイテレーションエラー
- 12. pythonジェネレータ時間の複雑さの混乱
- 13. ランダム入力のpythonジェネレータ
- 14. Pythonでジェネレータのstderrにプリント
- 15. Python再帰的ジェネレータのスコープ
- 16. 複数の値をPythonでジェネレータに渡す
- 17. 複製/複製Javascriptオブジェクト
- 18. Python、Seaborn:corrplotを複製する方法は?
- 19. Pythonで複製されたリスト
- 20. 複製curlコマンドpython 3 urllibリクエストAPI
- 21. Pythonロギングでログメッセージが複製される
- 22. JavaをPythonに複製する
- 23. Django開発環境の複製/複製
- 24. Python:別のジェネレータを含むジェネレータをフラット化する機能
- 25. Python `with`コンテキストとジェネレータ/コルーチン/タスク
- 26. スレッドの複製?
- 27. オブジェクトオートプロパティの複製
- 28. イベントバストリガーの複製
- 29. データベースの複製
- 30. Pythonジェネレータのforループ反復の効率
いくつかのコードを表示してください...私たちはあなたのジェネレータが何をすべきか知りません。 – ThiefMaster