Page 41 - Программирование. Python. Для школьников. bizdin.kg
P. 41
МАССИВДЕР 41
Силер билгендей for i in range(10) цикли 0дөн 9га чейинки i нин
бардык маанилерин коюп чыгат. for сөзүнүн алдындагы туюнтма (биздин
учурда – i) – бул ар бир i үчүн тизменин улам кийинки элементине жа-
зыла турган өзгөрмө. Берилген мисалда тизме i өзгөрмөсү удаалаш алып
жаткан маанилер менен толтурулат:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Ушуну эле, range функциясынын жардамы менен алынган берилиштер
менен тизме түзүү үчүн list функциясын колдонуп алсак болот:
а = list (range(10))
Тизмени бул сандардын квадраттары менен толтуруу үчүн мындай генера-
торду колдонсо болот:
а = [i*i for i in range(10)] #[0,1,4,9,16,25,36,49,64,81]
Генератордун жазуусунун аягында тандап алуу шартын кошуп койсо болот.
Бул учурда тизмеге ушул шартты канааттандырган циклде тандалып алын-
ган элементтер гана камтылат.
Мисалы, төмөнкү генератор 0дөн 9га чейинки диапазондогу бардык жуп
сандардын тизмесин түзөт:
а = [i for i in range(10) if i%2 ==0] #[0,2,4,6,8]
Көпчүлүк учурда тесттик жана окуу программаларында массивди кокустук
сандар менен толтурушат. Муну генератордун жардамында кылса болот:
from random import randint
а = [randint(20,100) for x in range(10)]
Мында 10 элементтен турган массив түзүлөт жана [20, 100] диапазонунда-
гы кокустук сандар менен толтурулат. Ал үчүн random модулунан импорт-
толгон randint функциясы колдонулат.
Тизменин узундугу (андагы элементтердин саны) len функциясы менен
аныкталат. Мисалга:
a = [1, 3, 4, 23, 5]
n = len(a) #5
www.trk.kg