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
Susan Sarandonasal
2024-12-03 18:30:12616semak imbas

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]}

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!

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