СӨЗДІК
Python тіліндегі сөздік (dictionary) әр элементтің бірегей кілті және онымен байланысты кейбір мағынасы бар элементтер жинағын сақтайды.
Сөздіктің анықтамасында келесі синтаксис бар:
dictionary = { кілт1:мәні1, кілт2:мәні2, ….}
Фигуралы жақшалардағы үтір арқылы элементтердің реттілігі анықталады, мұнда әр элемент үшін алдымен кілт анықталады, сосын қос нүктеден кейін оның мәні көрсетіледі.
Сөздікті анықтайық:
users = {1: «Timur», 2: «Madina», 3: «Bolat»}
Users сөздігінде сандар кілт ретінде, ал жолдар мәндер ретінде қолданылады. Яғни, 1- кілті бар элемент «Timur», 2-кілті бар элемент «Madina» және т. б.
Бірақ кілттер мен жолдардың бірдей болуы міндетті емес. Олар әртүрлі типтерді көрсете алады:
objects = {1: «Timur», «2»: False, 3: 53.4}
Тізімдер мен кортеждерді сөздікке түрлендіру
Сөздік пен тізім құрылымы жағынан әртүрлі болғанымен, кейбір арнайы тізімдерді кіріктірілген dict() функциясының көмегімен сөздікке түрлендіруге болады. Ол үшін тізімнің ішінде жинақталған ішкі тізімдер жиынтығы болуы керек. Әрбір ішкі тізім екі элементтен тұруы қажет – түрлендіру кезінде оның бірінші элементі кілтке, ал екіншісі мәнге айналады.
users_list = [
[«+786», «Timur»],
[«+653», «Madina»],
[«+876», «Aruna»]
]
users_dict = dict(users_list)
print(users_dict) # {«+786»: «Timur», «+653»: «Madina», «+876»: «Aruna»}
Элементтерді алу және өзгерту
Сөздік элементтеріне сілтеме жасау үшін оның атауынан кейін төртбұрышты жақшада элемент кілті көрсетіледі:
dictionary[кілт]
Мысалы, сөздіктегі элементтерді аламыз және өзгертеміз:
users = {
«+786»: «Timur»,
«+653»: «Madina»,
«+876»: «Aruna»
}
# «+786» кілті бар элемент аламыз
print(users[«+786»]) # Timur
Егер сөздікте осындай кілтпен элементтің мәнін орнатқан кезде ол болмаса, онда ол қосылады:
users[«+545»] = «Almas»
Бірақ егер сөздікте жоқ кілтпен мән алуға тырыссақ, онда Python keyError қатесін тудырады:
user = users[«+545»] # KeyError
Бұл жағдайды ескерту үшін, элементке қол жеткізбес бұрын, біз сөздікте кілттің бар-жоғын кілт сөздігі арқылы тексере аламыз. Егер кілт сөздікте болса, онда бұл өрнек шын мәнін қайтарады:
key = «+545»
if key in users:
user = users[key]
print(user)
else:
print(«Элемент табылмады»)
Элементтерді өшіру
Элементті кілт арқылы жою үшін del операторы қолданылады:
users = {
«+786»: «Timur»,
«+653»: «Madina»,
«+876»: «Aruna»
}
del users[«+876»]
print(users) # { «+786»: «Timur», «+653»: «Madina»}
Жоюдың тағы бір әдісі-pop () әдісі. Оның екі формасы бар:
- pop (key): элементті key кілтімен жояды және жойылған элементті қайтарады. Егер берілген кілті бар элемент болмаса, онда keyerror ерекше жағдай жасалады
- pop (key, default): элементті key кілтімен жояды және жойылған элементті қайтарады. Егер берілген кілті бар элемент болмаса, онда default мәні қайтарылады
Егер барлық элементтерді жою қажет болса, онда бұл жағдайда clear () әдісін қолдануға болады:
users.clear()
Тапсырмалар:
- Спортшылардың қай спорт түрінен жоғары жылдамдыққа жететінін қалай анықтауға болады?
Шарт: Спорт түрлері кілтті сөз болатын, ал мәні спортшылардың сәйкес спорт түрін максималды жылдамдығы болатын программа жазыңыз.
STEM: физика, спорт
Енгізу мәліметтері | Шығару мәліметтері |
Футбол Конькимен жүгіру | «Футбол»: 37, «Конькимен жүгіру «: 60 |
- Қай өркениет ең ұзақ өмір сүрді және оны сөздікпен қалай есептеуге болады?
Шарт: Өркениеттердің атаулары кілтті сөз болатын, ал мәні өмір сүруінің басталу және аяқталу күндерін көрсететін программа жазыңыз:
STEM: тарих, математика
Енгізу мәліметтері | Шығару мәліметтері |
Ежелгі Египет Мая тайпасы | «Ежелгі Египет»: {«басталуы»: -3100, «аяқталуы»: -30}, «Майя тайпасы»: {» басталуы «: -2000, » аяқталуы»: 1500} |
- Адамның темпераментін оның мінез-құлқынан қалай анықтауға болады?
Шарт: Темперамент түрлерін кілттік сөздік ретінде сипаттап, мәніне темперамент бойынша сипаттама беретін программаны жазыңыз.
STEM: психология, программалау
Енгізу мәліметтері | Шығару мәліметтері |
Холерик Сангвиник Флегматик Меланхолик | Холерик: «Импульсивті, жігерлі», Сангвиник: «Ашық, көңілді», Флегматик: » Тыныш, баяу «, Меланхолик: » Сезімтал, мазасыз» |
- Театр өнерінің қай жанры сізге жақын?
Шарт: театр жанрлары кілтті сөздік болып, ал мәні ретінде жанрдың сипаттамасын сұраныс жасайтын программаны жазыңыз.
STEM: көркем әдебиет, программалау
Енгізу мәліметтері | Шығару мәліметтері |
Мелодрама | көптеген эмоционалды және қайғылы көріністер |
Трагедия | Маңызды драмалық қойылым |
Комедия | Жеңіл, ойын-сауық ойыны |
- Әр түрлі тағамдарға арналған пісіру температурасын қалай білуге болады?
Шарт: Қажетті тағам түрлерінен сөздік жазып, соған сұраныс бойынша қажетті температураны шығаратын программаны жазыңыз.
STEM: химия, физика
№ | Енгізу мәліметтері | Шығару мәліметтері |
Нан Тәтті бәліш Пицца | Нан: 220 Тәтті бәліш: 180 Пицца: 250 |
🎓 STEM тұрғысынан бұл жоба не үйретеді?
STEM құрамы | Қолданылуы |
S – Science | Физика және биология салаларында спортшылардың жылдамдығын сақтау; тарихта өркениеттердің өмір сүру ұзақтығын есептеу; астрономия мен географияда планеталар мен қалалардың координаталарын кортеждерде сақтау және өңдеу. |
T – Technology | Python тілінде кортеждер мен сөздіктерді құру және пайдалану: функцияларға кортеж/сөздік параметр ретінде беру және бірнеше мәнді қайтаратын функциялар құру. |
E –Engineering | Географиялық деректермен мен тарихи мәліметтермен автоматтандырылған өңдеу жүйесін жасау |
M – Math | Математикалық тұрақтыларды (π, G) кортежде сақтау, оларды есептеулерде қолдану; |
Бақылау сұрақтары:
- Фигуралы жақшалардағы элементтердің анықтаудың реттілігі қандай?
- dict() функциясының негізгі қызметі қандай?Сөздікте сөзді жоюдың әдістері?