Rumah > pembangunan bahagian belakang > Tutorial Python > Defaultdict vs. Regular Dictionary: Bilakah Anda Harus Menggunakan `defaultdict`?

Defaultdict vs. Regular Dictionary: Bilakah Anda Harus Menggunakan `defaultdict`?

Susan Sarandon
Lepaskan: 2024-12-03 18:30:12
asal
612 orang telah melayarinya

Defaultdict vs. Regular Dictionary: When Should You Use a `defaultdict`?

Defaultdict vs. Regular Dictionary: Understanding the Distinction

Kamus terbina dalam Python ialah struktur data asas yang menyimpan pasangan nilai kunci. Walau bagaimanapun, jenis defaultdict menawarkan ciri unik yang membezakannya daripada kamus biasa.

Perbezaan Utama: Menekan Pengecualian Ralat Kunci

Apabila mengakses kunci yang tidak wujud dalam kamus biasa, anda akan menghadapi pengecualian KeyError. Sebaliknya, defaultdicts menyediakan cara untuk mengendalikan senario sedemikian dengan anggun dengan mencipta entri lalai secara automatik untuk kunci yang hilang.

Mencipta Item Lalai

Untuk mengawal jenis lalai item yang dibuat, anda menentukan objek "boleh dipanggil" sebagai hujah kepada pembina lalai. Sebagai contoh, dua contoh daripada dokumentasi Python:

  • Dalam contoh pertama, objek defaultdict dimulakan dengan int sebagai boleh panggil, jadi ia menjana objek integer (0) sebagai item lalai.
  • Dalam contoh kedua, objek defaultdict menggunakan senarai sebagai boleh panggil, menghasilkan senarai kosong sebagai lalai item.

Contoh Penciptaan Item Lalai:

Pertimbangkan coretan kod berikut:

import collections

# Create a defaultdict with initial values set to 0
s = 'mississippi'
d = collections.defaultdict(int)
for char in s:
    d[char] += 1
print(d)  # Output: {'m': 1, 'i': 4, 's': 4, 'p': 2}

# Create a defaultdict with initial values as empty lists
colors = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = collections.defaultdict(list)
for color, count in colors:
    d[color].append(count)
print(d)  # Output: {'blue': [2, 4], 'red': [1], 'yellow': [1, 3]}
Salin selepas log masuk

Dengan memahami perbezaan antara lalai dan kamus biasa, anda boleh memanfaatkan keupayaan lalai untuk mengendalikan kunci yang hilang dengan berkesan dalam Python anda aplikasi.

Atas ialah kandungan terperinci Defaultdict vs. Regular Dictionary: Bilakah Anda Harus Menggunakan `defaultdict`?. 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