Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menggabungkan Dua Kamus dengan Cekap dalam Python?

Bagaimanakah Saya Boleh Menggabungkan Dua Kamus dengan Cekap dalam Python?

Barbara Streisand
Lepaskan: 2024-12-22 17:24:11
asal
936 orang telah melayarinya

How Can I Efficiently Merge Two Dictionaries in Python?

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
Salin selepas log masuk

Dalam Python 3.5 atau Lebih besar:

z = {**x, **y}
Salin selepas log masuk

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)
Salin selepas log masuk

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():

  • copy () mencipta salinan cetek kamus asal.
  • kemas kini() mengemas kini kamus yang disalin dengan pasangan nilai kunci daripada kamus kedua.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan