Ескерту: Сөздіктен алынып тасталынған «кілт-мән» жұбты қайтаруға болмайды.
60. Бір типтегі объектілер орналасқан сөздік туралы. Сөздікте бір түрдегі объектілер туралы ақпаратты сақтауға болады. Мысалы, әрбір студенттің жақсы көретін алгоритмдік тілі болуы мүмкін. Осындай ақпаратты бір сөздікте сақтау қарастырылсын:
students_lanquaqes={ "machmut": 'pascal', "batyr": 'python', "erasyl": 'fortran', "gauhar": 'ada', }
lanquaqe = students_lanquaqes["batyr"].title()
print(f"batyr faforite lanquaqe is {lanquaqe}.")
Осы программаның нәтижесі:
batyr favorite lanquaqe is Python.
Сөздіктегі жұптар әрбір жолға жазылған және олар төрт орынға сол жақтан шегерілген. Соңғы жолдан кейін үтір қоюдың себебі тағы басқа жұптарды қосуға болатындықтан. Сұраныс бойынша batyr деген студенттің жақсы көретін алгоритмдік тіл Python екендігі көрсетілді.
70. Мәндерге get() әдісін пайдалану. Сөздіктер үшін get() әдісін пайдаланып, мәнді алуға болатын мүмкіншілік бар. Алдымен келесі фрагмент қарастырылсын:
oiyn_0={"color": 'green', "numbers":7}
print(oiyn_0['points'])
Берілмеген points кілті бойынша сұранысқа жауап қате жіберілгені туралы мәлімет береді:
Traceback (most recent call last):
File "C:/Users/User/stu65.py", line 2, in print(oiyn_0['points'])
KeyError: 'points'
Енді get() әдісін пайдаланып көрейік:
oiyn_0={"color": 'green', "numbers":7}
number = oiyn_0.get('numbers', 'No number assigned.')
print(number)
Орындалу нәтижесі:
7
Басқа жағдай қарастырылсын:
oiyn_0={"color": 'green', "numbers":7}
point = oiyn_0.get('point', 'No point assigned.')
print(point)
Нәтижесі:
No point assigned.
Сонымен, бірінші жағдайда сөздікте number бар болғандықтан оның сан мәні 7 шығарылды, ал екінші жағдайда point жоқ болғандықтан оның жоқ екендігі туралы хабарлама шығарылды.
80. Сөздіктің құрамын қарап шығу. Сөздіктің құрамындағы ақпарат өте көп болатыны туралы айтылған болатын. Кейде олардың құрамын қарап шығу қажет болады. Қарап шығудың бірнеше түрлері болады:
- барлық «кілт-мән» жұптарын қарап шығу;
- барлық кілттерді қарап шығу;
- кілттерді берілген тәртіп бойынша қарап шығу;
- барлық мәндерді қарап шығу.
8.1 Мысал қарастырылсын; мұнда items() әдісі «кілт-мән» жұбын қайтаруды қамтамасыз етеді:
user_0= { 'username': 'aman', 'first': 'murat', 'last': 'saken', }
for key, value in user_0.items():
print(f"\nKey: {key}")
print (f"value: {value}")
нәтижесінде барлық жұптар қарастырылып шықты:
Key: username
value: aman
Key: first
value: murat
Key: last
value: saken
8.2 Келесі мысалда keys() әдісі қолданылады:
students_lanquaqes={"machmut": 'pascal', "batyr": 'python', "erasyl": 'fortran', "gauhar": 'ada',}
for name in students_lanquaqes.keys():
print(name.title())
Бұл программаның орындалу барысында students_lanquaqes сөздігінен барлық кілттерді алып, name айнымалысында сақтайды. Нәтижесінде келесі тізім алынады:
Machmut
Batyr
Erasyl
Gauhar
8.3 Сөздіктегі кілттерді белгілі тәртіп бойынша шығару үшін for және sorted() қолданылады.
students_lanquaqes={"machmut": 'pascal', "batyr": 'python', "erasyl": 'fortran', "gauhar": 'ada',}
for name in sorted (students_lanquaqes.keys()):
print(name.title())
Фрагменттің орындалу нәтижесі:
Batyr
Erasyl
Gauhar
Machmut
8.4 Cөздіктегі мәндерді шығару үшін values() әдісі қолданылады:
students_lanquaqes={"machmut": 'pascal', "batyr": 'python', "erasyl": 'fortran', "gauhar": 'ada',}
for lanquaqe in sorted (students_lanquaqes.values()):
print(lanquaqe.title())
Фрагменттің орындалу нәтижесі:
Ada
Fortran
Pascal
Python
90. Сөздіктің ішіне ақпарат салу. Сөздіктерді пайдалану барысында мынадай жағдайлар кездесуі мүмкін:
- сөздіктердің жиынын бір тізімге енгізу;
- тізімді сөздіктің элементі ретінде сақтау;
- сөздік басқа сөздіктің элемеенті ретінде сақтау.
9.1 Келесі үш сөздік берілсін делік:
oiyn_1={"color": 'blue', "numbers": 7}
oiyn_2={"color": 'yellow', "numbers": 5}
oiyns =[oiyn_0, oiyn_1, oiyn_2]
for oiyn in oiyns:
print(oiyn) Нәтижесінде әрбір алғашқы берілген сөздік oiyns сөздігіне енгізілген:
{'color': 'green', 'numbers': 10}
{'color': 'blue', 'numbers': 7}
{'color': 'yellow', 'numbers': 5}
9.2 Әрбір студенттің ұнататын алгоритмдік тілдерінің тізімдері енгізілген:
students_lanquaqes={ "machmut": ['pascal','fortran'], "batyr": ['python','c', 'jawa'], "erasyl": ['fortran','pascal', 'c','jawa'], "gauhar": ['ada'], }
for name, lanquaqes in students_lanquaqes.items():
print(f"\n{name.title()} favorite lanquaqes are:")
for lanquaqe in lanquaqes:
print(f"\t{lanquaqe.title()}")
Фрагменттің нәтижесі:
Machmut favorite lanquaqes are:
Pascal
Fortran
Batyr favorite lanquaqes are:
Python
C
Jawa
Erasyl favorite lanquaqes are:
Fortran
Pascal
C
Jawa
Gauhar favorite lanquaqes are:
Ada
9.3 users атты сөздікте пайдаланушының екі кілті енгізілген: users және ssamatov, олармен байланысқан сөздіктер адамның атын, фамилиясын және тұратын қаласының аты көрсетілген. Мұнда әрбір кілт username айнымалысында сақталынған, ал сөздіктердің сақталынған айнымалысы user_info.
users = { 'samanov': { 'first': 'murat', 'last' : 'amanov', 'location': 'almaty', }, 'ssamatov': { 'first':'bolat', 'last': 'samatov', 'location': 'taraz', },}
for username, user_info in users.items():
print(f"\nusername:{username}")
full_name = f"{user_info['first']} {user_info['last']}"
location = user_info['location'] print (f"\tFull name: {full_name.title()}")
print(f"\tLocation: {location.title()}")
Фрагменттің орындалуының нәтижесі:
username:samanov
Full name: Murat Amanov
Location: Almaty
username:ssamatov
Full name: Bolat Samatov
Location: Taraz