Pythonで辞書を解凍!

Mary-Kate Olsen
リリース: 2025-01-08 06:23:42
オリジナル
324 人が閲覧しました

Dictionary Unpacking in Python!

パイソンニスタよ、集まれ! ?見落とされがちな素晴らしい Python テクニックである辞書のアンパック (別名辞書のマージ) を見てみましょう。 この強力な方法により、初心者と熟練した開発者の両方にとって辞書の操作が簡素化されます。

辞書の解凍について

2 つの辞書を想像してください:

  • first 辞書: {"name": "Tim Bradford", "age": 35}
  • second 辞書: {"city": "New York", "job": "Hollywood Actor"}

これらを結合するには、** 演算子を使用して辞書展開を使用します。

<code class="language-python">combined = {**first, **second}
print(combined)

# Output: {'name': 'Tim Bradford', 'age': 35, 'city': 'New York', 'job': 'Hollywood Actor'}</code>
ログイン後にコピー

これにより、キーと値が単一の辞書にエレガントにマージされます。

利点

簡単なマージ: Python 3.9 より前では、マージには .update() またはカスタム ループが必要でした。解凍すると、よりクリーンで簡潔なソリューションが提供されます。

デフォルト値を簡単に: メイン辞書をデフォルトと結合:

<code class="language-python">defaults = {"theme": "dark", "language": "English"}
user_settings = {"language": "French"}

final_settings = {**defaults, **user_settings}
print(final_settings)

# Output: {'theme': 'dark', 'language': 'French'}</code>
ログイン後にコピー

解凍順序により、ユーザー設定はデフォルトを上書きします。

可読性の向上: クリーンな Python コードにより、保守性とコラボレーションが向上します。

キーの競合の処理: 辞書がキーを共有する場合:

<code class="language-python">a = {"key": "value1"}
b = {"key": "value2"}

result = {**a, **b}
print(result)

# Output: {'key': 'value2'}</code>
ログイン後にコピー

右端の辞書の値が優先されます。 順序が重要です!

Python 3.9 以降: | 演算子

Python 3.9 では、マージをさらに簡単にするための | 演算子が導入されました。

<code class="language-python">merged = a | b
print(merged)</code>
ログイン後にコピー

インプレースマージの場合は、|=:

を使用します。
<code class="language-python">a |= b
print(a)</code>
ログイン後にコピー

これは a を直接更新します。

マージを超えて: 関数の引数

辞書のアンパックは、引数を渡すときにも非常に役立ちます:

<code class="language-python">def greet(name, age, topic, time):
    print(f"Hello, {name}! You are {age} years old. You are here to learn about {topic} at {time}.")

info = {"name": "Marko", "age": 30}
subject = {"topic": "Python", "time": "10:00 AM"}
greet(**info, **subject)

# Output: Hello, Marko! You are 30 years old. You are here to learn about Python at 10:00 AM.</code>
ログイン後にコピー

**info**subject は、関数パラメーターと一致するように辞書を解凍します。

結論

辞書のアンパックは、強力かつエレガントな Python の機能です。 コードを合理化し、可読性を向上させ、柔軟性を提供します。コメントで独自の辞書トリックを共有してください。コーディングを楽しんでください! ?

以上がPythonで辞書を解凍!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート