Pythonistas, berhimpun! ? Mari terokai teknik Python yang hebat dan sering diabaikan: membongkar kamus (aka gabungan kamus). Kaedah berkuasa ini memudahkan manipulasi kamus untuk pemula dan pembangun berpengalaman.
Bayangkan dua kamus:
first
kamus: {"name": "Tim Bradford", "age": 35}
second
kamus: {"city": "New York", "job": "Hollywood Actor"}
Untuk menggabungkannya, gunakan pembongkaran kamus dengan pengendali **
:
<code class="language-python">combined = {**first, **second} print(combined) # Output: {'name': 'Tim Bradford', 'age': 35, 'city': 'New York', 'job': 'Hollywood Actor'}</code>
Ini menggabungkan kunci dan nilai secara elegan ke dalam satu kamus.
Penggabungan Mudah: Sebelum Python 3.9, penggabungan diperlukan .update()
atau gelung tersuai. Membongkar menawarkan penyelesaian yang lebih bersih dan ringkas.
Nilai Lalai Dipermudahkan: Gabungkan kamus utama dengan lalai:
<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>
Tetapan pengguna mengatasi lalai disebabkan oleh perintah pembongkaran.
Kebolehbacaan Dipertingkat: Kod Pythonic yang bersih meningkatkan kebolehselenggaraan dan kerjasama.
Mengendalikan Konflik Utama: Jika kamus berkongsi kunci:
<code class="language-python">a = {"key": "value1"} b = {"key": "value2"} result = {**a, **b} print(result) # Output: {'key': 'value2'}</code>
Nilai kamus paling kanan diutamakan. Pesanan adalah kunci!
|
OperatorPython 3.9 memperkenalkan pengendali |
untuk penggabungan yang lebih mudah:
<code class="language-python">merged = a | b print(merged)</code>
Untuk penggabungan di tempat, gunakan |=
:
<code class="language-python">a |= b print(a)</code>
Ini secara langsung mengemas kini a
.
Membuka kamus juga tidak ternilai apabila menyampaikan hujah:
<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
dan **subject
buka kamus untuk memadankan parameter fungsi.
Pembukaan kamus ialah ciri Python yang berkuasa dan elegan. Ia memperkemas kod, meningkatkan kebolehbacaan dan menawarkan fleksibiliti. Kongsi helah kamus anda sendiri dalam komen! Selamat mengekod! ?
Atas ialah kandungan terperinci Membongkar Kamus dalam Python!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!