Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menggabungkan Kamus dalam Python dengan Kekunci Bertindih dengan Cekap?

Bagaimana untuk Menggabungkan Kamus dalam Python dengan Kekunci Bertindih dengan Cekap?

DDD
Lepaskan: 2024-12-09 10:43:06
asal
1002 orang telah melayarinya

How to Efficiently Combine Dictionaries in Python with Overlapping Keys?

Cara Menggabungkan Kamus Secara Python dengan Kekunci Bertindih

Menggabungkan kamus dengan kekunci bertindih sering timbul dalam pengaturcaraan. Katakan kami mempunyai dua kamus:

Dict A: {'a': 1, 'b': 2, 'c': 3}
Dict B: {'b': 3, 'c': 4, 'd': 5}
Salin selepas log masuk

Kami berhasrat untuk mencipta kamus baharu dengan sifat berikut:

  • Untuk kunci yang terdapat dalam kedua-dua kamus, jumlahkan nilai yang sepadan.
  • Untuk kunci yang terdapat dalam satu kamus sahaja, simpan asalnya nilai.

Penyelesaian Pythonic: Menggunakan Collections.Counter

Satu pendekatan elegan dan Pythonic menggunakan koleksi.Kelas balas, subkelas dict yang memudahkan pengiraan dan tugasan penjumlahan. Begini cara untuk menggunakannya:

from collections import Counter

A = Counter({'a':1, 'b':2, 'c':3})
B = Counter({'b':3, 'c':4, 'd':5})

result = A + B
Salin selepas log masuk

A B melakukan operasi tambah balas, menghasilkan objek Pembilang baharu:

Counter({'c': 7, 'b': 5, 'd': 5, 'a': 1})
Salin selepas log masuk

Pembilang baharu ini memegang nilai gabungan yang diingini. Memandangkan Pembilang berasal daripada dict, anda boleh berinteraksi dengannya sebagai kamus biasa, termasuk mengulangi kekunci dan nilai.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Kamus dalam Python dengan Kekunci Bertindih dengan Cekap?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan