ГЛАВА 2, 3, 4, 5. 2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе
Скачать 242.51 Kb.
|
Кортеж Кортеж (tuple) элементтердің тізбегін білдіреді, олар тізімге ұқсас, тек кортеж өзгермейтін (өзгермейтін) түрі болып табылады. Сондықтан біз корт элементтерін қосып немесе алып тастай алмаймыз, оны өзгерте алмаймыз. Тұтқаны жасау үшін оның мәндері үтірмен бөлінген жақшалар қолданылады:
Сондай-ақ, түйінді анықтау үшін біз жақшаларды қолданбай үтір арқылы мәндерді тізімдей аламыз:
Егер кенеттен бір элемент бір элементтен тұрса, онда бір элементтен кейін үтір қою керек:
Тізімнен кортеж жасау үшін тізімді кортежді қайтаратын tuple () функциясына беруге болады:
Корт ішіндегі элементтерге жүгіну индекс бойынша тізімдегі сияқты жүреді. Индекстеу сонымен қатар элементтерді тізімнің басынан алған кезде нөлден басталады және элементтерді тізімнің соңынан алған кезде -1 басталады:
Бірақ кортеж өзгермейтін тип болғандықтан (immutable), біз оның элементтерін өзгерте алмаймыз. Яғни, келесі жазба жұмыс істемейді:
Қажет болса, біз жеке айнымалыларға түйін жасай аламыз:
Функциядан бірден бірнеше мәнді қайтару қажет болған кезде түйіндерді пайдалану әсіресе ыңғайлы. Функция бірнеше мәнді қайтарған кезде, ол іс жүзінде кортежге оралады:
Кірістірілген Len () функциясын қолдана отырып, сіз ұзындықты ала аласыз:
Кортежді санау Кортежді санау үшін Сіз for және while стандартты циклдерін қолдана аласыз. Цикл арқылы:
While циклі арқылы:
Өрнекті пайдаланып тізім үшін сияқты in кортеж, сіз сотта элементтің бар-жоғын тексере аласыз:
Күрделі кортеждер Бір түйіспеде элементтер түрінде басқа түйіндер болуы мүмкін. Мысалы:
Мұнда елдерді білдіретін countries кортежі әрқайсысы бөлек ел болатын кортеждерден тұрады. Кірістірілген кортеждердің үш элементі бар: елдің атауы, оның халқы мен қаласы. Қалалар жеке кортежді білдіреді, мұнда әрбір жеке Қала - бұл қаланың атауы мен оның тұрғындарының саны бар ішкі кортеж. Сөздіктер Тізімдер мен түйіндермен қатар, Python-да сөздік (dictionary) деп аталатын тағы бір мәліметтер құрылымы бар. Бірқатар бағдарламалау тілдерінде ұқсас құрылымдар бар (C# сөздігі, PHP-дегі ассоциативті массив). Тізім сияқты, сөздік элементтер жинағын сақтайды. Сөздіктегі әр элементтің өзіндік мәні бар ерекше кілт бар. Сөздік анықтамасында келесі синтаксис бар:
Бірнеше сөздікті анықтаңыз:
Users сөздігінде сандар кілт ретінде, ал жолдар мән ретінде қолданылады. Element сөздігінде жолдар кілт ретінде қолданылады. Бірақ міндетті түрде кілттер мен жолдар бірдей болуы керек. Олар әр түрлі түрлерін ұсына алады:
Сондай-ақ, біз бос сөздікті элементтерсіз анықтай аламыз:
немесе :
Тізімнен сөздікке түрлендіру Сөздік пен тізім құрылымнан өзгеше болғанымен, тізімдердің жекелеген түрлері үшін оларды dict () функциясын қолдана отырып сөздікке айналдыру мүмкіндігі бар. Ол үшін тізім кірістірілген тізімдер жиынтығын сақтауы керек. Әрбір кірістірілген тізім екі элементтен тұруы керек-сөздікке айналдырылған кезде бірінші элемент кілт болады, ал екіншісі-мән:
Сол сияқты, сөздікке екі өлшемді түйіндерді түрлендіруге болады, олар өз кезегінде екі элементтен тұрады:
Элементтерді алу және өзгерту Сөздік элементтеріне кіру үшін кілтті пайдалану керек:
Мысалы, сөздіктегі элементтерді аламыз және өзгертеміз:
Егер мұндай кілті бар элементтің мәнін орнату кезінде сөздікте болмаса, онда ол қосылады:
Егер біз сөздікте жоқ кілтпен мән алуға тырыссақ, онда Python KeyError қатесін жасайды:
Бұл жағдайды ескерту үшін элементке хабарласпас бұрын сөздіктегі кілттің бар-жоғын өрнекті қолдана отырып тексере аламыз кілт in сөздік. Егер кілт сөздікте болса, онда бұл өрнек шын мәнін қайтарады:
Сондай-ақ, элементтерді алу үшін екі нысаны бар get әдісін қолдануға болады: get (key): кілт кілті бар элементті сөздіктен қайтарады. Егер мұндай кілті бар элемент болмаса, онда None мәнін қайтарады get (key, default): сөздіктен кілт кілті бар элементті қайтарады. Егер мұндай кілті бар элемент болмаса, әдепкі мәнді default қайтарады
Өшіру Элементті кілтпен жою үшін del операторы қолданылады:
Бірақ егер мұндай кілт сөздікте болмаса, онда KeyError-дан ерекшелік алынып тасталатынын ескерген жөн. Сондықтан, қайтадан алып тастамас бұрын, осы кілтпен элементтің болуын тексерген жөн.
Жоюдың тағы бір әдісі-pop () әдісі. Оның екі формасы бар: pop (key): элементті кілт арқылы жояды және жойылған элементті қайтарады. Егер осы кілті бар элемент болмаса, онда KeyError ерекшелік жасалады pop (key, default): элементті кілт арқылы жояды және жойылған элементті қайтарады. Егер осы кілті бар элемент болмаса, онда default мәні қайтарылады
Егер барлық элементтерді жою қажет болса, онда бұл жағдайда clear() әдісін қолдануға болады:
Сөздіктерді көшіру және біріктіру Copy () әдісі жаңа сөздікті қайтару арқылы сөздік мазмұнын көшіреді:
Update () әдісі екі сөздікті біріктіреді:
Бұл жағдайда users2 сөздігі өзгеріссіз қалады. Басқа сөздіктің элементтері қосылған users сөздігі өзгертіледі. Бірақ егер екі бастапқы сөздіктің де өзгеріссіз болуы қажет болса және біріктірудің нәтижесі үшінші сөздік болса, онда сіз бір сөздікті екіншісіне алдын-ала көшіре аласыз:
Cөздікті санау (перебор словаря) Сөздікті таңдау үшін Сіз циклды қолдана аласыз:
Элементтерді сұрыптау кезінде біз ағымдағы элементтің кілтін аламыз және ол арқылы элементтің өзін ала аламыз. Элементтерді сұрыптаудың тағы бір әдісі-items() әдісін қолдану:
Items () әдісі түйіндер жиынтығын қайтарады. Әрбір түйіспеде элементтің кілті мен мәні бар, оны сұрыптау кезінде біз бірден key және value айнымалыларына ала аламыз. Кілттерді санау және мәндерді санау мүмкіндіктері де бар. Кілттерді санау үшін біз сөздікте keys() әдісін шақыра аламыз:
Рас, бұл сұрыптау әдісі мағынасы жоқ, өйткені keys() әдісін шақырмай, біз жоғарыда көрсетілгендей кілттерді сұрыптай аламыз. Тек мәндерді санау үшін біз сөздікте values() әдісін шақыра аламыз:
|