ホームページ  >  記事  >  バックエンド開発  >  辞書の値を個々のパラメータとして Python 関数に渡すにはどうすればよいでしょうか?

辞書の値を個々のパラメータとして Python 関数に渡すにはどうすればよいでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-19 20:54:02212ブラウズ

How do you pass dictionary values as individual parameters to a Python function?

キーワード パラメータとして辞書を渡す

Python では、特定のキーを持つ複数のパラメータを提供する場合、辞書を関数に渡すと有利です。値のペア。ただし、各パラメータに個別の値を渡すことが目的の場合、単純なアプローチでは期待した結果が得られない可能性があります。

シナリオ 1: 単一のキーと値のペアを持つディクショナリを渡す

次のコードを考えてみましょう:

d = dict(param='test')

def f(param):
    print(param)

f(d)

このシナリオでは、期待される出力は「test」ですが、代わりに、コードは「{'param': 'test'}」を出力します。目的の出力を取得するには、** 演算子を使用して辞書を展開します。

改訂コード:

d = dict(param='test')

def f(param):
    print(param)

f(**d)

これで、コードは 'test を出力します。 ' 意図したとおりです。

シナリオ 2: 複数の Key-Value を持つディクショナリを渡すペア

複数のキーと値のペアを持つ辞書を、複数のパラメーターを期待する関数に渡すときにも同様の問題が発生します。

d = dict(p1=1, p2=2)

def f2(p1, p2):
    print(p1, p2)

f2(d)

期待される出力は '1 2' ですが、代わりに、コードは「{'p1': 1, 'p2': 2}」を出力します。これを解決するために、** 演算子を再度使用して辞書を展開します。

改訂されたコード:

d = dict(p1=1, p2=2)

def f2(p1, p2):
    print(p1, p2)

f2(**d)

これらの変更後、コードは正しく出力されるようになります。 1 2'.

以上が辞書の値を個々のパラメータとして Python 関数に渡すにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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