Rumah > pembangunan bahagian belakang > Tutorial Python > Menjelaskan lalai dalam Python

Menjelaskan lalai dalam Python

Susan Sarandon
Lepaskan: 2024-12-17 12:24:26
asal
757 orang telah melayarinya

Explaining defaultdict in Python

KEGUNAAN

Matlamat halaman ini? adalah untuk menerangkan konsep dan penggunaan defaultdict Python dari modul koleksi, khususnya tertanya-tanya tentang nama pelik. Ia diilhamkan oleh Penguasaan Python Lanjutan David Baezley, lihat ex_2_2 > Koleksi.

defaultdict:

  • menyediakan nilai lalai untuk kunci yang hilang
  • mengelakkan KeyError dengan memulakan kunci secara automatik
  • dinamakan untuk kelakuan lalainya untuk memulakan elemen
  • memudahkan kod dengan mengelakkan semakan dan sisipan manual
  • hanya objek boleh panggil (jenis atau fungsi) diluluskan untuk memulakan
  • dalam contoh yang diberikan, senarai digunakan sebagai kilang lalai
  • yang bermaksud ia secara automatik mencipta senarai kosong untuk kunci yang hilang
  • dan memudahkan pengumpulan data dengan cekap
  • juga boleh menggunakan fungsi lambda untuk nilai lalai literal yang lain
  • contoh: defaultdict(lambda: 0) mengembalikan 0 untuk kunci yang hilang

Contoh Kod Daripada Advanced Python Mastery

portfolio
[{'name': 'AA', 'shares': 100, 'price': 32.2}, {'name': 'IBM', 'shares': 50, 'price': 91.1}, {'name': 'CAT', 'shares': 150, 'price': 83.44}, {'name': 'MSFT', 'shares': 200, 'price': 51.23}, {'name': 'GE', 'shares': 95, 'price': 40.37}, {'name': 'MSFT', 'shares': 50, 'price': 65.1}, {'name': 'IBM', 'shares': 100, 'price': 70.44}]
print("### DEFAULTDICT")
from collections import defaultdict

print("#### Group data, e.g. find all stocks with the same name")
byname = defaultdict(list)
for s in portfolio:
    byname[s["name"]].append(s)
byname

# defaultdict(<class 'list'>, {'AA': [{'name': 'AA', 'shares': 100, 'price': 32.2}], 'IBM': [{'name': 'IBM', 'shares': 50, 'price': 91.1}, {'name': 'IBM', 'shares': 100, 'price': 70.44}], 'CAT': [{'name': 'CAT', 'shares': 150, 'price': 83.44}], 'MSFT': [{'name': 'MSFT', 'shares': 200, 'price': 51.23}, {'name': 'MSFT', 'shares': 50, 'price': 65.1}], 'GE': [{'name': 'GE', 'shares': 95, 'price': 40.37}]})

print('#### Find all stocks with the name "IBM"')
byname["IBM"]
# >>> [{'name': 'IBM', 'shares': 50, 'price': 91.1}, {'name': 'IBM', 'shares': 100, 'price': 70.44}]
Salin selepas log masuk

Contoh dengan Lambda:

from collections import defaultdict

byname = defaultdict(lambda: 0)
print(byname["missing_key"])  # This will return 0
Salin selepas log masuk

Atas ialah kandungan terperinci Menjelaskan lalai dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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