Первый слайд презентации: Жиынтықтармен жұмыс
1 6 - сабақ Оқытушы: Саметова Айгерім Айдарқызы
Слайд 2
Массив дегеніміз ? бір типтегі мәндерді сақтайтын мәліметтер құрылымы Тізім мен массив ерекшелігі ? әртүрлі мәліметтер типтері – тек бірдей мәліметтер типі Массив қалай импортталады ? from array import * typecode нені білдіреді? массивтің түрін білуге мүмкіндік береді
Слайд 3
Массивті өңдеу және көрсету үшін қолданылады ? кірістірілген екі цикл Екі өлшемді массив құруда қолданылатын шамалар? жолдар саны n және бағандар саны m Массив ұзындығын алу үшін қолданылатын функция ? len функциясы Жиым элементін пайдалану үшін оны қалай сипаттаймыз ? Жиым элементін пайдалану үшін оның нөмірін (индексін) көрсету қажет.
Слайд 4
Бас диагональ элементтері белгісі ? i = j кездейсоқ сандардан тұратын массив қалай құрылады ? random функциясы Екі өлшемді массивте 2 сан нені сипаттайды? алғашқы сан жолдар санын, ал екінші сан бағандар санын көрсетеді Екі өлшемді массивте бірінші орналасқан элемент қалай сипатталады ? A [0] [0]
Слайд 5
Тапсырма 1. Массивке кездейсоқ сандардан элемент қосатын программа құрыңыз. from random import randint n, m = 3, 3 a = [[ randint ( 1, 10 ) for j in range (m)] for i in range (n)] print (a) from random import randint N= 3 M= 3 A = [ [ 0 ]*M for i in range (N) ] for i in range (N): for j in range (M): A[i][j] = randint ( 20, 80 ) print (A[i][j], end = ' ' ) print ()
Слайд 6
Тапсырма 2. Массив элементінің максимумын табатын программа құрыңыз. from random import randint N= int ( input ( "Введите N: " )) M= int ( input ( "Введите M: " )) def printA ( A ): for row in A: for x in row : print ( "{:4}". format (x), end = " " ) print () A = [ [ 0 ]*M for i in range (N) ] for i in range (N): for j in range (M): A[i][j] = randint ( 0, 20 ) printA ( A ) m=A[ 0 ][ 0 ] for i in range (N): for j in range (M): if A[i][j]>m: m=A[i][j ] print ( " max =", m)
Слайд 7
Тапсырма 3. Массив элементтерінің қосындысын табатын программа құрыңыз. from random import randint N= int ( input ( "Введите N: " )) M= int ( input ( "Введите M: " )) def printA ( A ): for row in A: for x in row : print ( "{:4}". format (x), end = " " ) print () A = [ [ 0 ]*M for i in range (N) ] for i in range (N): for j in range (M): A[i][j] = randint ( 0, 20 ) printA ( A ) s= 0 for i in range (N): for j in range (M): s+=A[i][j] print ( " sum =",s )
Слайд 9
Python бағдарламалау тіліндегі жиынтық - бұл бірегей мәндердің реттелмеген жиынтығы. Бұл деректер жиынының элементтері ретінде кез-келген өзгермейтін объектілер, мысалы, сандар, символдар, жолдар бола алады. Массивтер мен тізімдерден айырмашылығы, оның мазмұнын өңдеу кезінде мәндер реті ескерілмейді. Жиынтық әртүрлі элементтерден тұруы мүмкін, жиынтықтағы элементтердің реті анықталмаған. Және элементтері қайталанбауы керек. Python бағдарламалау тілінің стандартты кітапханасының функцияларының арқасында бірқатар операцияларды бір немесе бірнеше жиынтықта орындауға болады.
Слайд 10
Жиынға элементтерді қосуға және жоюға болады, жиын элементтерінің үстінен итерациялауға болады, жиындар бойынша амалдар (біріктіру, қиылысу, айырмашылық) жасауға болады. Элементтің жиынға жататынын тексеруге болады. Ол үшін оны құру қажет. Мұны жай айнымалыға мәндер тізбегін тағайындау, оларды жүйелік жақшалармен қоршау арқылы жасауға болады. a = { 1, 2, 0, 1, 3, 2 } print (a) Көріп отырғаныңыздай, алынған тізбектің барлық элементтері қайталанбайтын болып табылады. Жиын құрудың тағы бір тәсілі бар, ол жиынтық әдісін қолдануды көздейді. Бұл функцияның аргументі мәліметтер жиыны немесе тіпті мәтіні бар жол болуы мүмкін.
Слайд 11
a = set ( ' data ' ) print (a) Осы кодты орындау нәтижесінде бағдарлама жаңа жиынтықты жолдан қайталанбас таңбалармен толтырады. Python-да жиынтық объектіні құрудың екі әдісі бар: Жүйелік жақшаларды қолданыңыз {} Кірістірілген set () функциясын қолданыңыз Бірінші әдіс ( {}қолдану) оңайырақ. set объектідегі элементтер санына шек қойылмайды, бірақ тізім немесе сөздік сияқты өзгермелі типтегі элементтерді қосуға тыйым салынады. Егер сіз тізім қосуға тырыссаңыз (элементтер жиынтығымен), аудармашы қате жібереді. s = { 1, 2, 3, [ 5, 6, 7, 8 ] } Traceback (most recent call last): File "C:/Users/Aigerim/PycharmProjects/pythonProject/main.py", line 1, in <module> s5 = { 1, 2, 3, [5, 6, 7, 8] } TypeError : unhashable type: 'list'
Слайд 12
Қолдану Әдетте келесі операциялар үшін қолданылады : Берілген мәннің жиынтықта екендігін тексеру. Ол үшін in қолданылады. a = { 0, 1, 2, 3 } print ( 2 in a) Керісінше, жоқтығын тексеру үшін not in. a = { 0, 1, 2, 3 } print ( 2 not in a) Қайталау for a in { 0, 1, 2 }: print (a)
Слайд 13
Генератор Жиынтықты құру үшін Python-да генераторды пайдалануға болады, ол тізімдерді толтыруға мүмкіндік береді, сонымен қатар белгілі бір жағдайларды ескере отырып, басқа мәліметтер жиынтығы. Толтыру жеке мақалада талқыланатын тізімдерді құру сияқты жүзеге асырылады. Келесі код бірнеше цифрларға арналған for циклі бар жиынтық құруды көрсетеді. a = {i for i in [ 1, 2, 0, 1, 3, 2 ]} print (a)
Слайд 14
Жиынтықтардың өзгеруі Python тіліндегі жиындардың мазмұнын басқару үшін жеке элементтерді қосуға және жоюға мүмкіндік беретін арнайы әдістер бар. Жиын ішіндегі элементтердің нақты санын білу үшін деректер жиынтығын аргумент ретінде қабылдайтын len әдісі көмектеседі. a = { 0, 1, 2, 3 } print ( len (a)) Жаңа мәндер қосу үшін add әдісін шақыру керек. Бұл жағдайда аргумент қосу керек реттілік элементі болып табылады. a = { 0, 1, 2, 3 } a.add ( 4 ) print (a)
Слайд 15
update() әдісі бір аргументті, яғни жиынтықты алады және оның барлық элементтерін бастапқы жиынтыққа қосады. Сіз add () әдісін шақырып, оған жиынның барлық элементтерін кезек-кезек беріп отырған сияқты болады. Іс жүзінде сіз кез келген параметрлер санымен update () әдісін шақыра аласыз. update() әдісі екі жиынмен шақырылғанда, екі жиынның барлық элементтерін бастапқы жиынтыққа. Update () әдісі әртүрлі типтегі объектілерді, соның ішінде тізімдерді қабылдай алады. Тізім оған берілген кезде, ол өзінің барлық элементтерін бастапқы жиынтыққа қосады. a = { 0, 1, 2, 3 } a.update({ 2, 4, 6 }) print (a) a.update({ 3, 6, 9 }, { 1, 2, 3, 5, 8, 13 }) print (a) a.update([ 10, 20, 30 ]) print (a)
Слайд 16
Элементті алып тастау Жиынтықтан элементтерді алып тастау үшін Python-да келесі функциялар қолданылады (тазартудан басқа ): remove - элементті алып тастаңыз және егер ондай элемент жоқ болса, ерекше жағдай жасаңыз; discard - егер элемент жоқ болса, ерекше жағдайсыз элементті алып тастаңыз; pop - бірінші элементті алып тастау, бос жиынтықтан шығару кезінде ерекше жағдай жасалады. Remove көмегімен қажет емес мәндерден арылыңыз. Мұндағы енгізу параметрі - бұл жойылатын элемент. a = { 0, 1, 2, 3 } a.remove ( 3 ) print (a)
Слайд 17
a = { 0, 1, 2, 3 } a.pop () print (a) pop функциясы жиынтықтарға c ұраныс берілмегендіктен, жадыда бірінші болатын кездейсоқ элемент жойылады. Бірақ егер олар жадта сұрыпталған түрде сақталса, онда ең кіші мәні бар элемент жойылады. Элементтер белгілі бір тәртіпте болмағандықтан, біз қандай элементтің жойылатынын болжай алмаймыз. a = { 0, 1, 2, 3 } a.discard ( 1 ) print (a) discard әдісі бойынша аргумент ретінде берілген элемент жиынтықтан өшіріледі
Слайд 18
Енді жиынтықта жоқ элементті алып тастауға тырысайық. a = { 0, 1, 2, 3 } a.discard( 4 ) print (a) discard нәтижесі жиынтыққа әсер етпегенін көрсетеді. Енді осыған remove әдісін қолданудың нәтижесі не болатынын көрейік: a = { 0, 1, 2, 3 } a.remove( 4 ) print (a) Traceback (most recent call last): File "C:/Users/Aigerim/PycharmProjects/pythonProject/main.py", line 2, in <module> a.remove (4) KeyError : 4
Слайд 19
Толық тазалау Кейде барлық элементтерді толығымен алып тастау қажет. Әрбір элементті бөлек алып тастамас үшін ешқандай дәлел келтірмейтін нақты әдіс қолданылады. Егер сіз осы әрекеттен кейін мазмұнды көрсетсеңіз, экранда тек тақырып пайда болады. a = { 0, 1, 2, 3 } a.clear () print (a) Сұрыптау Элементтердің реті ескерілмейді. Сондықтан Python 3-те жиынтықтарды сұрыптау туралы айтудың мағынасы жоқ. Бірақ екінші жағынан, бұл бәріне қатысты емес. Элементті жылдам іздеу үшін оларды жадында реттелген түрде сақтау керек.
Слайд 20
Алдымен, бір жиынтықтағы әр түрлі типтегі элементтерге не болатынын қарастырайық. a = { 0, 1, 12, 'b', 'ab', 3, 2, 'a' } print (a) Енді тізімге ауыссақ не болатынын көрейік: a = { 0, 1, 12, 3, 2 } b = list (a) print (b) Сол сияқты, мәндер өсу ретімен сұрыпталған тізімге жазылды. Егер элементтер бірдей типтегі болса, жадында реттелген түрде сақталады екен.
Слайд 21
Екі түрлі жиынтықтың барлық элементтерін біріктіру үшін объектілердің бірінде union әдісін қолданған жөн. a = { 0, 1, 2, 3 } b = { 4, 3, 2, 1 } c = a.union(b) print (c) Екі түрлі жиынға ортақ элементтерді табу үшін жиынтықтың бірін аргумент ретінде алатын қиылысу intersection функциясын қолданыңыз. Төмендегі код Python 3-те екі жиынның қиылысуынан жаңа сандар тізбегін жасайды. a = { 0, 1, 2, 3 } b = { 4, 3, 2, 1 } c = a.intersection (b) print (c)
Слайд 22
Айырмашылық Екі түрлі жиынтыққа айырмашылықты есептеу үшін difference әдісін қолдану керек. Функция екінші деректер жиынтығында жоқ элементтерді табуға мүмкіндік береді. a = { 0, 1, 2, 3 } b = { 4, 3, 2, 1 } c = a.difference (b) print (c)
Слайд 23
Жиынтықтар арасындағы байланыс Ішкі жиынтықтар мен жоғарғы жиынтықтарды анықтау үшін орындалу нәтижесіне байланысты True немесе False мәндерін қайтаратын арнайы функциялар бар. Ішкі жиынды анықтау А -ның b жиынтығы екенін білу үшін келесі мысалдағы сияқты issubset әдісінің нәтижесін көрсетуге тырысыңыз. А сандар жиынының барлық элементтері b құрамында болмағандықтан, функция False мәнін береді. a = { 0, 1, 2, 3, 4 } b = { 3, 2, 1 } print ( a.issubset (b))
Слайд 24
Негізгі жиынтықты анықтау А-ның супержиынтық екенін білу үшін, сіз issuperset әдісін шақырып, оның жұмысының нәтижесін экранға шығарасыз. B сандар жиынының барлық элементтері а-да болатындықтан, функция True мәнін қайтарады. a = { 0, 1, 2, 3, 4 } b = { 3, 2, 1 } print (a.issuperset(b)) Мазмұнын өзгерту мүмкін емес жиынтық frozenset типіне жатады. Осы жиынтықтағы мәндерді жою мүмкін емес, сонымен қатар жаңаларын қосуға болады. a = frozenset ({ "hello", "world" }) print (a)
Слайд 25
Жиынтықты түрлендіру Кейде мәндердің дайын жиынтығын мүлдем басқа мәліметтер типі ретінде ұсыну қажет болады. Тілдің мүмкіндіктері кез-келген жиынды стандартты функцияларды қолдана отырып жолға, сөздікке немесе тізімге түрлендіруге мүмкіндік береді. Жиынды жолға түрлендіру үшін join функциясы ұсынған мәтін мәндерінің тізбегін қолданыңыз. Бұл жағдайда оның аргументі бірнеше жолдар жиынтығы болып табылады. Тырнақшадағы үтір мәндерді бөлетін таңба ретінде әрекет етеді. Тип әдісі жоғарыдағы кодтың соңында объектінің деректер типін қайтарады. a = { ' set ', ' str ', ' dict ', ' list ' } b = ','. join (a) print (b) print ( type (b))
Слайд 26
Жиыннан сөздік алу үшін, dict функциясына бірнеше жұп мәндер жиынтығын беріңіз, олардың әрқайсысында кілт болады. a = {( 'a', 2 ), ( 'b', 4 )} b = dict (a) print (b) print ( type (b)) Алдыңғы түрлендірулермен ұқсастығы бойынша кейбір нысандардың тізімін алуға болады. a = { 1, 2, 0, 1, 3, 2 } b = list (a) print (b) print ( type (b))
Слайд 28
Бағдарламалау Python тілінде бағдарламалау үшін веб-браузерді іске қосып, python.org/download сайтына кіріп, операциялық жүйеңіздің нұсқасына сәйкес орнатушыны жүктеп алыңыз.
Слайд 29
Тапсырма 1. Жиынтықтарды біріктіретін программа құрыңыз. Тапсырма 2. Жиынтықты жолдарға түрлендіретін программа құрыңыз.