このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Python入門】集合の要素数を取得する(len関数)

集合の要素数を取得する(len関数)
Pythonでは、組み込み関数である len
関数を利用して、リストや文字列と同様に集合(set)の要素数を簡単に取得できます。集合は重複しない要素を持つイテラブルなデータ構造であり、そのサイズを把握することは、データの検証や操作の際に非常に有用です。ここでは、len
関数を用いた集合の基本的な要素数の取得方法と、集合を他のデータ構造へ変換する応用例について、具体例を交えながら解説します。

プログラムのダウンロード
「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。
1.len
関数を使った基本的な要素数の取得
ここでは、単一の集合に対して len
関数を用いて要素数を取得する方法について説明します。
1.1. 単一集合の要素数を取得する方法
たとえば、動物の名前を表す集合を定義し、その中に含まれる動物の数を取得する例を考えます。
サンプルプログラム
# 動物の名前を格納した集合を定義
animals = {'dog', 'cat', 'rabbit', 'hamster'}
# 集合 'animals' の要素数を取得
num_animals = len(animals)
print("animals の要素数:", num_animals)
# 出力例: animals の要素数: 4
実行結果
animals の要素数: 4
解説
- この例では、
{'dog', 'cat', 'rabbit', 'hamster'}
のように、重複しない4つの要素からなる集合を定義しています。 len(animals)
を実行すると、集合に含まれるユニークな要素の数(この場合は 4)が返されます。
1.2. 複数集合の和集合の要素数を取得する応用例
集合同士の演算(例えば和集合)を行った結果に対しても len
関数は適用できます。次の例では、2つの集合の和集合を作成し、その要素数を取得します。
サンプルプログラム
# 集合 a と b を定義(例:ペットの種類)
a = {'dog', 'cat', 'parrot'}
b = {'cat', 'fish', 'turtle'}
# a と b の和集合を求める
union_set = a | b
print("和集合:", union_set)
# 出力例: 和集合: {'dog', 'cat', 'parrot', 'fish', 'turtle'}
# 和集合の要素数を取得
num_union = len(union_set)
print("和集合の要素数:", num_union)
# 出力例: 和集合の要素数: 5
実行結果
和集合: {'turtle', 'dog', 'fish', 'cat', 'parrot'}
和集合の要素数: 5
解説
- 演算子
|
を使用することで、集合 a または b に含まれるすべての要素からなる新しい集合(和集合)を作成します。 len(union_set)
により、重複なく統合された集合の要素数が得られます。
2.集合を他のデータ構造として利用する応用例
集合はイテラブルなデータ構造であるため、文字列の連結やリストへの変換、反復処理など、さまざまな用途に活用できます。
2.1. 集合から文字列への変換
join
メソッドを利用すると、集合の各要素を指定した区切り文字で連結して1つの文字列にすることができます。次の例では、集合 animals
の要素をハイフン("-")で連結しています。
サンプルプログラム
# animals 集合の要素を '-' で連結して文字列に変換する
animals_str = '-'.join(animals)
print("連結した文字列:", animals_str)
# 出力例: 連結した文字列: dog-cat-rabbit-hamster
実行結果
連結した文字列: cat-hamster-dog-rabbit
解説
join
メソッドは、集合内の各要素を指定した文字列で区切りながら連結します。- ただし、集合は順序が保証されないため、出力される順序は実行ごとに変わる可能性があります。
2.2. 集合からリストへの変換と for 文での反復処理
集合を list
関数に渡すことでリストに変換でき、順序付きのデータとして利用することが可能です。また、for
文を用いれば、集合の各要素に対して処理を行うこともできます。
サンプルプログラム
# animals 集合をリストに変換する
animals_list = list(animals)
print("リストに変換:", animals_list)
# 出力例: リストに変換: ['dog', 'cat', 'rabbit', 'hamster']
# for 文を使って、集合の各要素を出力する
print("animals の各要素:")
for animal in animals:
print(animal)
実行結果
リストに変換: ['cat', 'hamster', 'dog', 'rabbit']
animals の各要素:
cat
hamster
dog
rabbit
解説
list(animals)
により、集合の要素がリストとして格納され、後からインデックスによるアクセスやソートなどが可能になります。for animal in animals:
によって、集合内の各要素が一つずつ変数animal
に割り当てられ、反復処理が行われます。
まとめ
len
関数を使えば、集合に含まれるユニークな要素数を簡単に取得でき、データの規模を把握するのに役立ちます。
- 基本操作: 単一の集合に対して
len
関数を適用することで、要素数を迅速に確認できます。 - 応用例: 和集合などの集合演算の結果にも
len
関数を適用して、異なる集合間での要素数の違いを比較できます。 - イテラブルとしての利用: 集合は
join
メソッドやlist
関数、for
文と組み合わせることで、柔軟に文字列やリスト、ループ処理などにも活用可能です。
これらの特性を活かして、集合を用いた効率的なデータ操作や検証が行えるため、プログラム設計の幅が広がります。