Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggabungkan Dua Kamus dalam Python dengan Ungkapan Tunggal?

Bagaimana untuk Menggabungkan Dua Kamus dalam Python dengan Ungkapan Tunggal?

DDD
DDDasal
2024-12-20 22:20:11547semak imbas

How to Merge Two Dictionaries in Python with a Single Expression?

Bagaimanakah saya boleh menggabungkan dua kamus dalam Python dalam satu ungkapan?

Dalam Python 3.9.0 atau lebih tinggi, anda boleh menggunakan | operator:

z = x | y

Dalam Python 3.5 atau lebih tinggi, anda boleh menggunakan operator asterisk berganda (**):

z = {**x, **y}

Dalam Python 2, atau Python 3.4 atau lebih rendah, anda boleh tentukan fungsi:

def merge_two_dicts(x, y):
    z = x.copy()
    z.update(y)
    return z

dan kemudian gunakan fungsi:

z = merge_two_dicts(x, y)

Penjelasan:

Apabila kita menyebut "cantumkan dua kamus", kami bermaksud mencipta kamus baharu (z) yang mengandungi semua nilai kunci berpasangan daripada kedua-dua x dan y, dengan nilai daripada y menimpa sebarang kekunci pendua dalam x.

| operator telah ditambahkan dalam Python 3.9 untuk menangani kes penggunaan ini secara khusus. Ia menggabungkan kamus secara cetek, memberi keutamaan kepada yang terakhir (iaitu, y dalam contoh kami).

Pengendali asterisk berganda (**) ialah cara lain untuk menggabungkan kamus. Ia mengembangkan kamus seolah-olah ia dihantar sebagai hujah kata kunci dan sebarang kunci pendua dikendalikan seperti yang dijangkakan (nilai terakhir diutamakan).

Dalam Python 2, atau 3.4 dan lebih awal, kita masih boleh menggabungkan kamus dengan mencipta kamus baharu sebagai salinan x dan kemudian mengemas kininya dengan y. Ini memastikan bahawa x dan y tidak diubah suai semasa proses.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Dua Kamus dalam Python dengan Ungkapan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn