Bagaimanakah Saya Menggabungkan Dua Kamus dalam Ungkapan Tunggal dalam Python?
Masalah:
Gabungkan dua kamus ke dalam kamus baharu, dengan nilai daripada kamus kedua menggantikannya daripada kamus pertama.
Penyelesaian Yang Mungkin:
Dalam Python 3.9.0 atau Lebih Besar:
z = x | y
Dalam Python 3.5 atau Lebih besar:
z = {**x, **y}
Dalam Python 2, 3.4 atau Bawah:
def merge_two_dicts(x, y): z = x.copy() # Start with keys and values of x z.update(y) # Modifies z with keys and values of y return z z = merge_two_dicts(x, y)
Penjelasan:
1. Python 3.9.0 atau Lebih Besar:
Pengendali paip (|) diperkenalkan dalam PEP-584 dan menggabungkan kedua-dua kamus menggunakan sintaks pembongkaran kamus.
2. Python 3.5 atau Lebih Besar:
Pengendali asterisk berganda (**) digunakan untuk membongkar kamus. Setiap kamus dibongkar sebagai pasangan nilai kunci, dan kemudian digabungkan ke dalam kamus baharu.
3. Python 2, 3.4 atau Lower:
Dalam versi Python sebelum 3.5, anda mesti menggabungkan kamus secara manual menggunakan kaedah copy() dan kemas kini():
Nota:
Menggunakan sintaks pembongkaran kamus ({x, y}) adalah lebih berprestasi daripada menggunakan kefahaman dikta ({k: v untuk d dalam (x, y) untuk k, v dalam d.items()}) atau fungsi chain() daripada itertools.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Dua Kamus dengan Cekap dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!