ホームページ > バックエンド開発 > Python チュートリアル > Python リスト内のすべての要素が等しいかどうかを効率的に確認するにはどうすればよいですか?

Python リスト内のすべての要素が等しいかどうかを効率的に確認するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-27 12:35:14
オリジナル
853 人が閲覧しました

How to Efficiently Check if All Elements in a Python List are Equal?

リスト内の要素の等しいかどうかを確認する

リスト内のすべての要素が等しいかどうかを判断するには、リストを反復処理する必要があります。標準の等価演算子を使用してそれらの等価性を評価します。この問題に対する 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート