リスト要素内の連続する重複の削除: 単純な削除を超えて要素の削除へ
最初のアプローチではリスト要素から連続する重複を削除することに成功しましたが、要素そのものを取り除くには至りませんでした。これを達成するには、より洗練された戦略が必要です。
itertools.groupby() を通じて提供されるソリューションは、効率的なアプローチを提供します。連続する要素をグループ化し、各グループのキーを返します。キーを選択することで、リスト内の固有の要素を取得できます。
L = [1,1,1,1,1,1,2,3,4,4,5,1,2] from itertools import groupby [key for key, _group in groupby(L)]
質問の 2 番目の部分では、連続した重複を持つ要素を削除することが目的で、groupby( ) ステートメントは、この要件に対処します。
[k for k, g in groupby(L) if sum(1 for i in g) < 2]
このアプローチでは、ジェネレーター式を使用して各グループ内の要素の数を計算します。要素が 2 つ未満のグループのキーを選択することで、連続する重複を効果的に排除します。その結果、簡潔でエレガントなソリューションが得られます。
以上がPython のリストから連続する重複要素を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。