Dictionary Methods

Ko'p Python ma'lumot turlari kabi, lug'atlar ham foydalanishingiz mumkin bo'lgan maxsus metodlarga ega.

Lug'at Metodlari

Ko'p Python ma'lumot turlari kabi, lug'atlar ham foydalanishingiz mumkin bo'lgan maxsus metodlarga ega. Keling, lug'atning ba'zi metodlarini ko'rib chiqamiz!

d.get(key[, default])

Siz get() metodidan qiymat olish uchun foydalanishingiz mumkin. get() sizga qidiriladigan kalitni ko'rsatishni talab qiladi. Agar kalit topilmasa, ixtiyoriy ravishda default qiymatini qaytarish imkonini beradi. Default qiymati None ga teng. Keling, ko'raylik:

>>> print(sample_dict.get('address'))
None
>>> print(sample_dict.get('address', 'Not Found'))
'Not Found'

Birinchi misolda siz mavjud bo'lmagan kalitni olishga harakat qilganda, get ning default qiymatini o'rnatmasangiz nima bo'lishini ko'rasiz. Bunday holda, None qaytadi. Keyin ikkinchi misol sizga default qiymatini "Not Found" stringiga o'rnatishni ko'rsatadi.

d.clear()

clear() metodi sizning lug'atingizdan barcha elementlarni o'chirish uchun ishlatilishi mumkin.

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> sample_dict
{'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}
>>> sample_dict.clear()
>>> sample_dict
{}

d.copy()

Agar siz lug'atning yuza nusxasini yaratmoqchi bo'lsangiz, copy() metodi siz uchun.

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> copied_dict = sample_dict.copy()
>>> copied_dict
{'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}

Agar sizning lug'atingizda ichki ob'ektlar yoki lug'atlar bo'lsa, ushbu metodni ishlatganingizda mantiqiy xatolar bilan duch kelishingiz mumkin, chunki bir lug'atni o'zgartirish ikkinchisiga ta'sir qiladi. Bunday holda, Pythonning copy modulidan foydalanishingiz kerak, u deepcopy funksiyasiga ega bo'lib, siz uchun to'liq alohida nusxa yaratadi. Bu muammo ro'yxatlar bo'yicha bo'limda aytib o'tilgan bo'lishi mumkin.

d.items()

items() metodi lug'atning elementlari bo'yicha yangi ko'rinishni qaytaradi:

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> sample_dict.items()
dict_items([('first_name', 'James'), ('last_name', 'Doe'), ('email', 'jdoe@gmail.com')])

Bu ko'rinish obyekti lug'at obyekti o'zgarganda o'zgaradi.

d.keys()

Agar sizga lug'atdagi kalitlarni ko'rish kerak bo'lsa, unda keys() metodi siz uchun. Ko'rinish obyekti sifatida, u sizga lug'at kalitlarining dinamik ko'rinishini beradi. Siz ko'rinish orqali aylana olasiz va in kalit so'zi yordamida a'zolikni tekshirishingiz mumkin:

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> keys = sample_dict.keys()
>>> keys
dict_keys(['first_name', 'last_name', 'email'])
>>> 'email' in keys
True
>>> len(keys)
3

d.values()

values() metodi ham ko'rinish obyekti qaytaradi, lekin bu holda u lug'atning qiymatlarining dinamik ko'rinishidir:

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> values = sample_dict.values()
>>> values
dict_values(['James', 'Doe', 'jdoe@gmail.com'])
>>> 'Doe' in values
True
>>> len(values)
3

d.pop(key[, default])

Sizga lug'atdan kalitni o'chirish kerakmi? Unda pop() metodi siz uchun. pop() metodi kalit va ixtiyoriy default stringni oladi. Agar siz defaultni o'rnatmasangiz va kalit topilmasa, KeyError ko'tariladi.

Mana ba'zi misollar:

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> sample_dict.pop('something')
Traceback (most recent call last):
Python Shell, prompt 146, line 1
builtins.KeyError: 'something'
>>> sample_dict.pop('something', 'Not found!')
>>> sample_dict.pop('first_name')
'James'
>>> sample_dict
{'last_name': 'Doe', 'email': 'jdoe@gmail.com'}

d.popitem()

popitem() metodi lug'atdan (kalit, qiymat) juftligini o'chirish va qaytarish uchun ishlatiladi. Juftliklar oxirgi kiritilgan birinchi chiqish (LIFO) tartibida qaytariladi, ya'ni oxirgi qo'shilgan element birinchi o'chiriladi. Agar bo'sh lug'atda chaqirilsa, KeyError olasiz.

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> sample_dict.popitem()
('email', 'jdoe@gmail.com')
>>> sample_dict
{'first_name': 'James', 'last_name': 'Doe'}

d.update([other])

Boshqa lug'atdan (kalit, qiymat) juftliklari bilan lug'atni yangilang, mavjud kalitlarni o'zgartiring. other boshqa lug'at, tuple ro'yxati va h.k. bo'lishi mumkin. update() chaqirilganda None qaytaradi.

Keling, ba'zi misollarni ko'raylik:

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> sample_dict.update([('something', 'else')])
>>> sample_dict
{'first_name': 'James', 'last_name': 'Doe', 'email': 'jdoe@gmail.com', 'something': 'else'}

Keling, update() ni mavjud kalitni o'zgartirish uchun sinab ko'raylik:

>>> sample_dict = {'first_name': 'James', 'email': 'jdoe@gmail.com'}
>>> sample_dict.update([('first_name', 'Mike')])
>>> sample_dict
{'first_name': 'Mike', 'last_name': 'Doe', 'email': 'jdoe@gmail.com'}

Ushbu sahifada

Xato haqida xabar berish