これまでの例では「最初に見つかった値を return する」方法を紹介しました。
今回はさらに応用して、条件に一致した複数の値をすべてリストに集めて返す方法を説明します。
サンプルコード
def search_values():
results = [] # 一致した値を入れるリスト
for A in range(1, 6):
for B in range(1, 6):
for C in range(1, 6):
result = A * B * C
# 条件1: 奇数である
if result % 2 == 0:
continue
# 条件2: 30以上である
if result >= 30:
results.append((A, B, C, result))
return results # 一致した値をまとめて返す
# 呼び出し側
found_list = search_values()
if found_list:
print("条件に一致した値一覧:")
for item in found_list:
A, B, C, result = item
print(f"A={A}, B={B}, C={C}, result={result}")
else:
print("条件に一致する値はありませんでした")
Python実行結果(抜粋)
条件に一致した値一覧:
A=1, B=5, C=5, result=25 ← 条件未達なので出ない
A=2, B=5, C=5, result=50
A=3, B=3, C=5, result=45
A=5, B=3, C=3, result=45
A=5, B=5, C=3, result=75
...
解説ポイント
- results = []
→ 一致した値を格納する空リストを用意。 - results.append(…)
→ 条件に合った値をリストに追加。タプルでまとめると便利。 - return results
→ 最後にリストを返すことで、呼び出し側でまとめて利用できる。
応用の場面
- 検索機能: 複数の一致結果をまとめて返す(例:データベース検索)。
- フィルタリング: 条件に合うデータだけを抽出してリスト化。
- 分析処理: 複数の候補を集めて後で統計や集計に使う。
まとめ
- 単一の値 → return で返す
- 複数の値 → リストに集めて return
- 呼び出し側でループして利用できるので、柔軟な処理が可能。


