ホームページ >バックエンド開発 >Python チュートリアル >Python でループから複数の値を返すにはどうすればよいですか?

Python でループから複数の値を返すにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-18 12:27:10215ブラウズ

How Can I Return Multiple Values From a Loop in Python?

return を使用してループから複数の値を返す

Python でループから複数の値を返すには、return だけを使用するだけでは十分ではない場合があります。提供されたコード サンプルで示されているように、ループ内で return を使用すると反復が途中で終了し、データの取得が不完全になります。

代替アプローチ:

これに対処する 1 つのアプローチ問題はジェネレーターを使用することです。ジェネレーターは、すべての値をメモリーに保管せずに一連の値を生成する特別な関数です。ジェネレーターを使用してコードを変更すると、次の結果が得られます。

def show_todo():
    # Create a generator
    for key, value in cal.items():
        yield value[0], key

このジェネレーターをリストまたはタプルの内包表記とともに使用して、データを収集できます。

a = list(show_todo())  # or tuple(show_todo())

あるいは、次のようにもできます。値を保存し、ループの完了後にそれを返すリスト:

def show_todo():
    my_list = []
    for key, value in cal.items():
        my_list.append((value[0], key))
    return my_list

最後にリスト内包表記を使用すると、同じ結果を簡潔に達成できます。

def show_todo():
    return [(value[0], key) for key, value in cal.items()]

これらのメソッドを使用すると、ループから複数の値を効果的に収集して返すことができ、必要に応じてこのデータを他の関数で使用できるようになります。

以上がPython でループから複数の値を返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。