Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリスト内のすべてのタプルの長さが同じかどうかを確認する方法

この記事では、指定されたリストに含まれるすべてのタプルが同じ長さを持っているかどうかを確認する方法を解説します。データ処理やバリデーションの際に、タプルの要素数が揃っているかチェックしたい場面はよくあります。ここでは2つのアプローチを紹介します。

len関数を使った方法

まずは、len 関数を使って各タプルの長さを取得し、検証対象となる値と比較する方法です。すべてのタプルの長さが基準値と一致していれば「同じ長さ」と判断し、そうでなければ異なると判定します。

コード例

listA = [('Mon', '2 pm', 'Physics'), ('Tue', '11 am', 'Maths')]
# リストの表示
print("Given list of tuples:\n", listA)
# 基準となる長さ
k = 3
res = 1
# 各タプルを反復処理
for tuple in listA:
    if len(tuple) != k:
        res = 0
        break
# res の値で結果を判定
if res:
    print("Each tuple has same length")
else:
    print("All tuples are not of same length")

実行結果

上記のコードを実行すると、次のような出力が得られます。

Given list of tuples:
[('Mon', '2 pm', 'Physics'), ('Tue', '11 am', 'Maths')]
Each tuple has same length

この方法では、for ループで各タプルを順番に調べ、長さが基準値 k と異なるタプルが見つかった時点でフラグを立ててループを抜けます。条件を満たさない要素が見つかり次第すぐに処理を終了できるため、大きなリストを扱う場合にも効率的です。

all関数とlen関数を組み合わせた方法

次に、all 関数と len 関数を組み合わせる方法を紹介します。all 関数は、イテラブル内のすべての要素が真である場合に True を返す組み込み関数です。ジェネレータ式を使うことで、簡潔に記述できます。

コード例

listA = [('Mon', '2 pm', 'Physics'), ('Tue', '11 am', 'Maths')]
# リストの表示
print("Given list of tuples:\n", listA)
# 基準となる長さ
k = 3
res = (all(len(elem) == k for elem in listA))
# res の値で結果を判定
if res:
    print("Each tuple has same length")
else:
    print("All tuples are not of same length")

実行結果

上記のコードを実行すると、次のような出力が得られます。

Given list of tuples:
[('Mon', '2 pm', 'Physics'), ('Tue', '11 am', 'Maths')]
Each tuple has same length

まとめ

all(len(elem) == k for elem in listA) という1行で同じ判定ができるため、Pythonらしい簡潔な書き方としておすすめです。また、all 関数も短絡評価(ショートサーキット)を行うため、条件を満たさない要素が見つかった時点で評価を打ち切ります。可読性と効率の両面から、実務では all 関数を使った方法が広く使われています。

  1. Pythonで数値が2の累乗かどうかを判定するプログラム

    この記事では、以下の問題に対する解決策について詳しく解説します。 問題文 ある整数が与えられたとき、その数が2の累乗であるかどうかを判定する必要があります。 この問題は、主に次の2つのアプローチで解くことができます。 アプローチ1: 繰り返し2で割って判定する 数値を順に2で割っていき、途中で割り切れなくなった場合(奇数が出現した場合)は2の累乗ではありません。最終的に1に到達できれば、その数は2の累乗であると判定できます。なお、0は2の累乗に含まれないため、あらかじめ除外しています。この方法の時間計算量は O(log n) です。 サンプルコード # power of 2 def find(

  2. Pythonで文字列の長さを取得する3つの方法【len()・スライス・join()】

    Pythonにおける文字列(string)とは、Unicode文字の連なりからなるデータ型です。一度宣言された文字列は変更できません(イミュータブル)。この記事では、Pythonで文字列の長さを調べるためのさまざまな方法を、具体的なコード例とともに紹介します。方法1:len()関数を使う最もシンプルで一般的な方法が、組み込み関数である len() を使うやり方です。引数として文字列を渡すだけで、その文字数が返されます。実務でも最もよく使われる標準的な手法です。コード例str = "Tutorials" print("文字列の長さは:", len(str)