リスト内の要素の等しいかどうかを確認する
リスト内のすべての要素が等しいかどうかを判断するには、リストを反復処理する必要があります。標準の等価演算子を使用してそれらの等価性を評価します。この問題に対する Python のアプローチは、ブール演算とイテレータを使用することです。
解決策 1: イテレータと Groupby を使用する
1 つの効率的な解決策は、itertools.groupby を活用することです。隣接する要素を同じ値でグループ化します。次の関数は、groupby を利用して、すべての要素が等しいかどうかを検証します。
from itertools import groupby def all_equal_groupby(iterable): g = groupby(iterable) return next(g, True) and not next(g, False)
解決策 2: 代替反復子
あるいは、反復子を使用してリストを反復処理できます。要素ごとに実行します比較:
def all_equal_iter(iterator): iterator = iter(iterator) try: first = next(iterator) except StopIteration: return True return all(first == x for x in iterator)
パフォーマンスに関する考慮事項
ソリューションの選択は、問題の特定の要件によって異なります。大きなリストの場合、または早期終了が必要な場合 (不等式が見つかった場合)、groupby ベースのソリューションの方が効率的です。ただし、メモリ使用量が懸念される場合は、イテレータベースのソリューションが推奨されます。
以上がPython リスト内のすべての要素が等しいかどうかを効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。