パイソンニスタよ、集まれ! ?見落とされがちな素晴らしい 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 では、マージをさらに簡単にするための |
演算子が導入されました。
<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 サイトの他の関連記事を参照してください。