#15 LUG'AT ELEMENTLARI BILAN ISHLASH
Lug'at ichida ro'yxat, lug'at ichida lug'at?
Avvalgi darsimizda lug'at bilan tanishdik, va lug'atdagi elementlarga kalit so'z bo'yicha murojat qilishni o'rgandik. Lug'atlar katta yoki kichik bo'lishi mumkin. Ba'zida lug'atdagi barcha kalitlarni yoki qiymatlarni bilmasligimiz mumkin. Bunday holatda qanday yo'l tutamiz?
Ushbu darsimizda lug'at elementlarini turli usullar yordamida chiqarishni o'rganamiz.
.items() METODI
Ushbu metod yordamida lug'at ichidagi barcha kalit-qiymat juftliklarini ko'rishimiz mumkin.
1
talaba_0 = {
2
'ism':'alijon',
3
'familiya':'shamshiyev',
4
'yosh':22,
5
'fakultet':'matematika',
6
'kurs':4
7
}
8
9
print(talaba_0.items())
Copied!
Natija: dict_items([('ism', 'alijon'), ('familiya', 'shamshiyev'), ('yosh', 22), ('fakultet', 'matematika'), ('kurs', 4)])
Bu metodni to'g'ridan-to'g'ri emas, for tsikli yordamida chaqirish orqali lug'atdagi barcha elementlarni tushunarliroq shaklda ko'rishimiz mumkin.
1
for kalit, qiymat in talaba_0.items():
2
print(f"Kalit: {kalit}")
3
print(f"Qiymat: {qiymat} \n")
Copied!
Natija
Yuoqirdagi kodda, talaba_0 lug'atidagi har bir kalit va qiymat juftligini konslga chiqardik. E'tibor bering, for tsiklida biz bir emas ikkita o'zgaruvchi yaratib oldik (kalit va qiymat).
Bu usul ba'zi lug'atlardagi ma'lumotlarni chiroyli ko'rinishda chiqarish uchun juda qo'l keladi.
1
telefonlar = {
2
'ali':'iphone x',
3
'vali':'galaxy s9',
4
'olim':'mi 10 pro',
5
'orif':'nokia 3310'
6
}
7
8
for k, q in telefonlar.items():
9
print(f"{k.title()}ning telefoni {q}")
Copied!
Natija
.keys() METODI
Agar lug'atdagi kalit so'zlarni ko'rish talab qilinsa, .keys() metodidan foydalanishimiz mumkin.
1
mahsulotlar = { # Do'kondagi mahsulotlar
2
'olma':10000,
3
'anor':20000,
4
'uzum':40000,
5
'anjir':25000,
6
'shaftoli':30000
7
}
8
9
print(mahsulotlar.keys())
Copied!
Natija: dict_keys(['olma', 'anor', 'uzum', 'anjir', 'shaftoli'])
1
print('Do\'kondagi mahsulotlar:')
2
for mahsulot in mahsulotlar.keys():
3
print(mahsulot.title())
Copied!
Natija
Yuqoridagi kodimizda, for tsiklida .keys() metodini ishlatmasak ham huddi shu natija chiqadi.
for tsikli va if sharti yordamida lug'atdagi biror qiymatlarni alohida chiqarishimiz ham mumkin:
1
bozorlik = ['anor','uzum','non','baliq']
2
for mahsulot in mahsulotlar:
3
if mahsulot in bozorlik:
4
print(f"{mahsulot.title()} {mahsulotlar[mahsulot]} so'm")
Copied!
Natija
Yuqordagi kodga e'tibor bering. Biz avval borolik degan ro'yxat yaratdik (uyga bozor qilyapmiz), keyin esa mahsulotlar lug'atidagi har bir mahsulotni bizdagi bozorlik ro'yxati bilan solishtirdik. Agar mahsulot bizning bozorlik ro'yxatimizda bo'lsa, uning narhini konsolga chiqardik.
Quyidagi misolda esa aksincha, bozorlik ro'yxatidagi har bir elementni do'kondagi mahsulotlar bilan solishtiramiz, va mahsulot do'konda yo'q bo'lsa, do'konga murojat qoldiramiz:
1
for buyum in bozorlik:
2
if buyum not in mahsulotlar:
3
print(f"Iltimos, do'koningizga {buyum} ham olib keling")
Copied!
Natija
Do'stlaringiz bilan baham: |