for文で都度returnを返したい

通常の関数内で return ステートメントを使うと、その関数はその時点で終了し、それ以降のコードは実行されません。そのため、for ループ内で都度 return を使っても、最初に return した時点で関数が終了してしまいます。

ただし、一度に複数の値を返したい場合は、タプルやリストなどのデータ構造を使用して、それらの値をまとめて返すことができます。以下は、例としてタプルを使用した場合のコードです。

python
def process_data(data_list): for item in data_list: # データを処理する processed_data = item * 2 # 都度処理結果を返す yield processed_data # 使用例 my_data = [1, 2, 3, 4, 5] result_generator = process_data(my_data) for result in result_generator: print(result)

この例では、process_data 関数が data_list に対して処理を行い、都度処理結果を yield を使って返しています。yield はジェネレータ関数を作成し、呼び出し元に都度値を返す役割を果たします。上記の例では、ジェネレータを使って都度処理結果を取得しています。

未分類

Posted by ぼっち