Ro`yxatlarni o`zgartirmaydigan barcha amallarni kortejlarga nisbatan ham qo`llash mumkin (chunki, kortejlar o`zgarmaydigan ro`yxatlardir). Bundan tashqari elementlarning o`rinlarini turli usullar yordamida almashtirish ham mumkin.
a, b = b, a
Masalan Python tili dasturchilarining faxri bo`lgan ikkita o`zgaruvchining qiymatlarini o`zaro almashtirish kabi:
17-bob
Lug`atlar(dict) va ular bilan ishlash. Lug`atlarning metodlari
Ushbu bobda biz lug`atlar (dict) deb nomlangan yana bir tip ob`yektlari haqida gaplashamiz. Bu yerda lug`atlar bilan ishlash, ular ustida bajariladigan amallar, metodlari va lug`atlar generatorlari borasida so`z yuritamiz.
Pythonda lug`atlar bu kalit bo`yicha murojaat qilish mumkin bo`lgan ixtiyoriy ob`yektlarning tartiblanmagan to`plamidir. Ba`zan ularni assotsiativ massivlar yoki xesh-jadvallar deb ham atashadi.
Lug`at bilan ishlash uchun, dastlab uni yaratib olishimiz kerak bo`ladi. Ularni bir necha xil usullarda yaratish mumkin. Birinchi usulimiz- literallar yordamida yaratishdir:
>>> d = {}
>>> d
{}
>>> d = {'dict': 1, 'dictionary': 2}
>>> d
{'dict': 1, 'dictionary': 2}
Ikkinchi usul esa dict() funksiyasidan foydalanish usulidir:
>>> d = dict(short='dict', long='dictionary')
>>> d
{'short': 'dict', 'long': 'dictionary'}
>>> d = dict([(1, 1), (2, 4)])
>>> d
{1: 1, 2: 4}
Uchinchisi esa fromkeys metodidan foydalanish:
>>> d = dict.fromkeys(['a', 'b'])
>>> d
{'a': None, 'b': None}
>>> d = dict.fromkeys(['a', 'b'], 100)
>>> d
{'a': 100, 'b': 100}
To`rtinchi usul – ro`yxatlar generatoriga juda o`xshab ketadigan lug`atlar generatorlaridan foydalanish usulidir:
>>> d = {a: a ** 2 for a in range(7)}
>>> d
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36}
Endi bu lug`atlarimizga biror-bir yozuvni qo`shish hamda kalitlar bo`yicha qiymatlarga murojaat qilishga harakat qilib ko`ramiz:
>>> d = {1: 2, 2: 4, 3: 9}
>>> d[1]
2
>>> d[4] = 4 ** 2
>>> d
{1: 2, 2: 4, 3: 9, 4: 16}
>>> d['1']
Traceback (most recent call last):
File "", line 1, in
d['1']
KeyError: '1'
Yuqoridagi misoldan ko`rinib turganidek, yangi kalit bo`yicha qiymat berish – lug`atni kengaytiradi, mavjud kalit bo`yicha qiymat berish – uni qaytadan yozib qo`yadi va mavjud bo`lmagan kalit bo`yicha qiymatni olishga urinish esa xatolikni yuzaga keltiradi. Bunday xatoliklarning yuzaga kelishiga yo`l qo`ymaslik uchun maxsus metodlardan foydalanish yoki xatoliklarni qamrab olish kerak bo`ladi. Lug`atlar bilan yana nimalar qilish mumkin? boshqa metodlar bilan bajarilishi mumkin bo`lgan deyarli barcha amallarni. Tarkibiy funksiyalar, kalit so`zlar (masalan, for va while takrorlashlar kabi) hamda lug`atlarning maxsus metodlaridan foydalanish mumkin.
Dostları ilə paylaş: |