Жиынтықтармен жұмыс



Дата10.04.2023
өлшемі150,34 Kb.
#81320
түріСабақ
Байланысты:
Python 6

Сөздіктермен жұмыс

6-сабақ


Массив дегеніміз?
бір типтегі мәндерді сақтайтын мәліметтер құрылымы
Тізім мен массив ерекшелігі?
әртүрлі мәліметтер типтері – тек бірдей мәліметтер типі
Массив қалай импортталады?
from array import *
typecode нені білдіреді?
массивтің түрін білуге ​​мүмкіндік береді
Массивті өңдеу және көрсету үшін қолданылады?
кірістірілген екі цикл
Екі өлшемді массив құруда қолданылатын шамалар?
жолдар саны n және бағандар саны m
Массив ұзындығын алу үшін қолданылатын функция?
len функциясы
Жиым элементін пайдалану үшін оны қалай сипаттаймыз?
Жиым элементін пайдалану үшін оның нөмірін (индексін) көрсету қажет.
Бас диагональ элементтері белгісі?
i = j
кездейсоқ сандардан тұратын массив қалай құрылады?
random функциясы
Екі өлшемді массивте 2 сан нені сипаттайды?
алғашқы сан жолдар санын, ал екінші сан бағандар санын көрсетеді
Екі өлшемді массивте бірінші орналасқан элемент қалай сипатталады?
A [0] [0]

Сөздіктермен жұмыс

6-сабақ


Python бағдарламалау тіліндегі сөздік - бұл өзгертілетін (тізім сияқты) реттелмеген (жолдарға, тізімдерге және кортеждерге қарағанда) кілт: мән элементтерінің жиынтығы.
«Реттелмеген» дегеніміз - жұптардың реті маңызды емес. Бағдарламалау тілі оны ескермейді, нәтижесінде индекстер бойынша элементтерге қол жеткізу мүмкін болмайды.
Басқа тілдерде сөздіктерге ұқсас құрылымдар басқаша аталады. Мысалы, Java-да бұл мәліметтер типі картаға түсіру деп аталады.
Сөздік ұғымы түсінікті болу үшін кәдімгі сөздікпен ұқсастық келтірейік, мысалы, ағылшын-қазақ. Мұндай сөздікте әрбір ағылшын сөзі үшін орыс тіліндегі аударма сөзі бар: {'cat': ‘мысық', 'dog': ‘ит', 'mouse': ‘тышқан'} және т.б.
Өмірде сөздіктер кең таралған, мысалы, әдеттегі қағаз сөздіктер (түсіндірме, орфографиялық, лингвистикалық). Оларда кілт - мақаланың тақырыбы, ал мәні - мақаланың өзі. Мақалаға қол жеткізу үшін сіз негізгі сөзді көрсетуіңіз керек.
Сөздікке ұқсас мәліметтер құрылымының тағы бір мысалы - телефон анықтамалығы. Онда кілт - аты, ал мәні - телефон нөмірі. Сөздік те, телефон анықтамалығы да белгілі бір кілт арқылы сөздік элементін оңай таба алатындай етіп сақталады (мысалы, егер жазбалар пернелердің алфавиттік ретімен сақталса, онда белгілі кілтті табу оңай, мысалы, екілік іздеу арқылы), бірақ егер кілт белгісіз болса, бірақ тек мәні белгілі болады. Cодан кейін берілген мәні бар элементті іздеу сөздіктің барлық элементтерін дәйекті түрде сканерлеуді қажет етуі мүмкін.
Сөздіктер келесі жағдайларда қолданылады:
  • Кейбір объектілердің санын санау. Бұл жағдайда кілттер объект, ал мәндер олардың саны болатын сөздік жасау керек.
  • Объектпен байланысты кез-келген деректерді сақтау. Кілттер объектілер, мәндер - олармен байланысты деректер. Мысалы, сізге оның реттік нөмірін ай атауы бойынша анықтау қажет болса, мұны сөздік арқылы жасауға болады

  • Num ['қаңтар'] = 1
    Num ['ақпан'] = 2; ...
  • Объектілер арасындағы сәйкестікті орнату (мысалы, «ата-ана»). Кілт - объект, мәні - сәйкес объект.

Құру
Сөздіктермен жұмыс істеу үшін олардың мазмұнын өзгертетін және олармен әр түрлі операцияларды орындайтын функциялар бар. Жұмыс жасамас бұрын оны құру керек. Мұны айнымалыға объектілер жұбының ерікті санын тағайындау арқылы тілдің негізгі құралдарын қолдану арқылы жасауға болады. Элементтер жүйелік жақшаға алынып, кілттен соң қос нүкте, мән тырнақшада жазылу керек. Төмендегі мысалда кілттер сандар мен жолдар мәндері бар а деп аталатын сөздікті қалай жасау керектігі көрсетілген.
a = {1: "one", 2: "two", 3: "three"} print(a)
Әдіс көмегімен де құра аламыз
a = dict(one = 1, two = 2, three = 3) print(a)
Бос сөздік құру:
dict_sample = {}
Кілт бүтін сандардан тұратын сөздік:
dict_sample = {1: 'mango', 2: 'pawpaw'}
Әр түрлі типтегі кілттен тұратын сөздік:
dict_sample = {'fruit': 'mango', 1: [4, 6, 8]}
dict() әдісі арқылы құрылған сөздік:
dict_sample = dict({1:'mango', 2:'pawpaw'})
тізбектің көмегімен:
dict_sample = dict([(1,'mango'), (2,’banana')])
Элемент қосу
Python 3-те сөздіктің мазмұнын кез-келген уақытта қалауыңыз бойынша өзгертуге болады. Мысалы, коллекцияға жаңа жұп объектілерді қосу үшін квадрат жақшаларда жаңа кілтті, сонымен қатар сәйкес мәнді көрсету керек.
a = {1: "one", 2: "two", 3: "three"} a[4] = "four" print(a)
Бос сөздікке элемент қосу
MyDictionary = {} print(MyDictionary) MyDictionary[0] = 'Apple' MyDictionary[2] = 'Mango' MyDictionary[3] = 20 print(MyDictionary)
бір кілт үшін бірнеше мән қосуға болады. Мысалға:
MyDictionary = {} MyDictionary['Values'] = 1, "Pairs", 4 print(MyDictionary)
Fromkeys әдісінің көмегімен
d = dict.fromkeys(['a', 'b'], 100) print(d )
Генератор көмегімен
d = {a: a ** 2 for a in range(7)} print(d )
Сөздікке мән қосқаннан кейін, сөздік элементін өзгертуге болады. Мәнді өзгерту үшін сәйкес кілт қолданылады.
dict_sample = { "Company": "Toyota", "year": 2012 } dict_sample["year"] = 2014 print(dict_sample)
Элементті алып тастау
Егер сөздікте қажет емес ақпарат болса, арнайы del операциясын қолданып, одан оңай арылуға болады. Оны орындау үшін сөздік атауын, сонымен қатар төртбұрышты жақшалардағы кілтті көрсету керек.
a = {1: "one", 2: "two", 3: "three"} del a[3] print(a)
Кілт-мәндер жұбын жоюдың тағы бір тәсілі - бұл pop() функциясы аргумент ретінде кілт енгізу.
a = {1: "one", 2: "two", 3: "three"} a.pop(3) print(a)
Popitem() соңғы элемент өшіру
a = {1: "one", 2: "two", 3: "three"} a.popitem() print(a)
Егер сізге бүкіл сөздікті жою қажет болса
a = {1: "one", 2: "two", 3: "three"} del a print(a)
Белгілі бір жағдайларда сізге сөздіктің барлық элементтерін бос қалдырып, жою қажет болуы мүмкін. Бұған clear () функциясын қолдану арқылы қол жеткізуге болады:
a = {1: "one", 2: "two", 3: "three"} a.clear() print(a)
Сөздіктің артық кетуі (перебор)
Сөздік элементтерінің артық кетуін бірнеше әдіс көмегімен алуға болады, сіздің қандай ақпарат алғыңыз келетіндігіне байланысты.
Сөздіктің артық кетуін байқауға болады:
  • Негізгі мәндер жұбы;
  • Барлық кілттердің артылуы;
  • Мәндердің артылуы.

  • Мысалы, сөздіктің барлық жұптарын кілт: мән форматында қалай шығару керектігін көрсетеді. Ол үшін біз for циклын және сөздік элементтерімен жұмыс жасайтын элементтер функциясын қолданамыз.

a = {1: "one", 2: "two", 3: "three"} for key, value in a.items(): print(key, ":", value)
Тек кілттерді алу үшін keys әдісін сөздікке шақыру арқылы қолданыңыз.
a = {1: "one", 2: "two", 3: "three"} for key in a.keys(): print(key)
Сөздіктің мәндерін ғана көрсету үшін дәл осылай жасау керек. Алайда, бұл жағдайда for циклінде values әдісі қолданылады.
a = {1: "one", 2: "two", 3: "three"} for val in a.values(): print(val)
Әдістер
Len функциясы кез-келген уақытта сөздік элементтерінің ағымдағы санын анықтауға мүмкіндік береді, егер сіз оны дәлел ретінде жинақ атауын берсеңіз.
a = {1: "one", 2: "two", 3: "three"} print(len(a))
get(key) әдісі
key кілті бойынша мәндерді қайтарады
a = {1: "one", 2: "two", 3: "three"} print(a.get(1))
items() әдісі кілт,мән форматы бойынша шығарады
a = {1: "one", 2: "two", 3: "three"} print(a.items())
Іздеу
in арқылы белгілі бір кілттің бар-жоғын тексеруге болады.
a = {1: "one", 2: "two", 3: "three"} print(2 in a) print(4 in a)
Сұрыптау
Тілдік құралдар сөздікті қажеттілікке қарай Python-дағы кілттер мен мәндер бойынша сұрыптауға мүмкіндік береді. Сұрыптау импортталған оператор модулі және 0 немесе 1 алатын кіріктірілген itemgetter әдісі арқылы жүзеге асырылады. 0 кілт бойынша, 1 мәндердің алфавиттік ретімен көрсетуге мүмкіндік береді.
import operator a = {2 : "two", 3 : "three", 1 : "one"} b = sorted(a.items(), key = operator.itemgetter(0)) print(b) b = sorted(a.items(), key = operator.itemgetter(1)) print(b)
Көшіру
copy әдісі бір сөздіктің мазмұнын екінші сөздікке көшіру үшін қолданылады.
a = {1: "one", 2: "two", 3: "three"} b = a.copy() print(b)
Setdefault () әдісі Бұл әдіс белгілі бір кілтпен элементтің мәнін алу қажет болған кезде қолданылады. Егер кілт табылмаса, ол сөздікке көрсетілген мәнмен бірге енгізіледі.
a = {1: "one", 2: "two", 3: "three"} a.setdefault(3, "three") print(a) a.setdefault(4, "four") print(a)
update() әдісі пайдалы, егер сізге бірден бірнеше жұпты жаңарту қажет болса. Әдіс аргумент ретінде басқа сөздікті алады.
a = {1: "one", 2: "two", 3: "three"} b = {4: "four", 5: "five"} a.update(b) print(a)
Zip () функциясы кілттер мен мәндердің тізімдерін біріктіру арқылы сөздік жасауға мүмкіндік береді.
a = dict(zip([1, 2, 3], ['One', 'Two', 'Three'])) print(a)
Жолға түрлендіру
Оның мазмұнын үйлесімді түрде көрсете отырып, жұмысты жеңілдету үшін сөздікті жолға өте оңай айналдыруға болады. Ол үшін сізге str функциясы қажет.
a = {1: "one", 2: "two", 3: "three"} b = str(a) print(b) print(type(b))
Сол сияқты, Python жолын сөздікке кері түрлендіру орын алады. Оның мәтін мазмұны сөздік құрылымына сәйкес келуі маңызды.
a = '{1: "one", 2: "two", 3: "three"}' b = eval(a) print(b) print(type(b))
Кіріктірілген сөздіктер
Python-да сөздіктерді кіріктіруге болады, яғни олар басқа үлкен сөздіктің бөлігі бола алады. Жүйелік жақшалар мен қос нүктелердің көмегімен сіз осы сөздіктің шекараларын көрсете аласыз және бағдарламаны мәндері бар кілттер жұбымен көрсете аласыз.
a = { "First": {1: "one",2: "two",3: "three"}, "Second": { 4: "four",5: "five" } } print(a)
dict.clear () - сөздікті тазартады.
dict.copy () - сөздіктің көшірмесін қайтарады.
classmethod dict.fromkeys (seq [, мән]) - seq және мән мәндерінен кілттермен сөздік жасайды (әдепкі - None).
dict.get (кілт [, әдепкі]) - кілттің мәнін қайтарады, бірақ егер ол жоқ болса, ол ерекшелік шығармайды, бірақ әдепкі мәнді қайтарады (әдепкі бойынша Жоқ).
dict.pop (кілт [, әдепкі]) - кілтті алып тастайды және мәнді қайтарады. Егер кілт жоқ болса, әдепкі мәнді қайтарады (әдепкі бойынша ерекше жағдай жасайды).
dict.keys () - сөздіктегі кілттерді қайтарады.
dict.popitem () - (кілт, мән) жұбын алып тастайды және қайтарады. Сөздік бос болса, KeyError ерекше жағдайын тастайды. Сөздіктердің ретсіз екенін ұмытпаңыз.
dict.setdefault (кілт [, әдепкі]) - кілттің мәнін қайтарады, бірақ егер ол жоқ болса, ол ерекшелік шығармайды, бірақ әдепкі мәнмен кілт жасайды (әдепкі бойынша Жоқ).
dict.update ([басқа]) - сөздікті басқалардан (кілт, мән) жұптар қосу арқылы жаңартады. Қолданыстағы кілттер қайта жазылады. Жоқ қайтарады (жаңа сөздік емес!).
dict.values ​​() - сөздіктегі мәндерді қайтарады.
dict.items () - жұптарды қайтарады (кілт, мән).
Сұрыптау
A = { 'f':10, 'а':2, 'с':17 } ak = A.keys() # ak = dict_keys(['f', 'а', 'с']) print(ak) # 2. Конвертировать представления ak в список list_ak = list(ak) # list_ak = ['f', 'а', 'с'] # 3. Отсортировать список ключей - функция sort() list_ak.sort() # ['а', 'с', 'f'] # 4. Вывести перечень (ключ:значение) # в отсортированном порядке по ключам, # сформировать новый словарь B = {} for k in list_ak: print('(', k, ': ', A[k], ')') B[k] = A[k] print(B) # {'a': 2, 'c': 17, 'f': 10}
Цикл көмегімен сөздік элементтерін шығару
Months = { 1:'Jan', 2:'Feb', 3:'Mar', 4:'Apr', 5:'May', 6:'Jun', 7:'Jul', 8:'Aug', 9:'Sep', 10:'Oct', 11:'Nov', 12:'Dec' } for mn in Months: print(mn, ': ', Months[mn])
Сөздік жасаңыз, онда кілттер 1-ден 10-ға дейінгі сандар болады, ал мәндері сол сандардың кубтық мәндері болады.
my_dict = {i : i ** 3 for i in range(1, 11)} print(my_dict)
Ұзындығы бірдей екі тізім берілген. Олардан бірінші тізімнің элементтері кілттер, ал екіншісінің элементтері тиісінше біздің сөздіктің мәндері болатындай етіп сөздік жасау керек.
keys = ['red', 'green', 'blue'] values = ['#FF0000','#008000', '#0000FF'] dictionary = dict(zip(keys, values)) print(dictionary)
Бағдарламалау
Python тілінде бағдарламалау үшін веб-браузерді іске қосып, python.org/download сайтына кіріп, операциялық жүйеңіздің нұсқасына сәйкес орнатушыны жүктеп алыңыз.
Тапсырма 1.
Екі сөздік берілген: dictionary_1 = {'a': 300, 'b': 400} және dictionary_2 = {'c': 500, 'd': 600}. Кіріктірілген Python функцияларын қолдану арқылы оларды біріктіріңіз.
Тапсырма 2.
Сөздіктің мәндері кілттің кубтық мәндері болатын программа құрыңыз.
Тапсырма 3.
Кілттер мен мәндердің тізімдерін біріктіру арқылы сөздік құратын программа жазыңыз.
НАЗАРЛАРЫҢЫЗҒА
РАҚМЕТ!

Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет