Дәріс 11. Тізімдер. Тізімдер-бұл ерікті нысандардың реті. Тізімдер тізім элементтерін төртбұрышты жақшаларға алу арқылы жасалады.
names = [ “Dave”, “Mark”, “Ann”, “Phil” ]
Тізім элементтері бүтін сандармен индекстеледі, тізімнің бірінші элементі индексі нөлге тең. Тізімнің жеке элементтерін қолдану үшін
индекстеу операторы қолданылады:
= names[2] # Вернет третий элемент списка, “Ann” names[0] = “Jeff” # Запишет имя “Jeff” в первый элемент списка
Жаңа элементтерді тізімнің соңына қосу үшін append() әдісі қолданылады:
names.append(“Paula”)
Элементті тізімнің ортасына енгізу үшін insert() әдісі қолданылады:
names.insert(2, " Thomas”)
Кесу операторының көмегімен тізімде тұтас фрагменттерді алуға және өзгертуге болады:
= names[0:2] # Вернет [“Jeff”, “Mark”]
= names[2:] # Вернет [“Thomas”,
“Ann”, “Phil”, “Paula”]
names[1] = ‘Jeff’ # Во второй элемент
запишет имя ‘Jeff’ names[0:2] = [‘Dave’,’Mark’,’Jeff’] # Заменит первые два
элемента
# списком справа.
Қосу операторы ( + ) тізімдерді конкатенациялауды орындайды:
a = [1,2,3] + [4,5] # тізім жасайды [1,2,3,4,5]
Бос тізімді екі жолмен жасауға болады:
names = [] # Бос тізім
names = list () # Бос тізім
Тізімде басқа тізімдерді қоса алғанда, кез келген түрдегі нысандар болуы мүмкін, келесі мысалда көрсетілгендей:
a = [1,"Dave",3.14, ["Mark", 7, 9, [100,101]], 10]
Ішкі тізімдердегі элементтерге кіру төменде көрсетілгендей қосымша индекстеу операторларын қолдану арқылы жүзеге асырылады:
a[1] # Вернет “Dave” a[3][2] # Вернет 9 a[3][3][1] # Вернет 101
1.2 листингіндегі бағдарлама тізімдегі қосымша ерекшеліктерді көрсетеді
. Ол атауы көрсетілген файлдағы сандардың мәндерін командалық жолдың аргументі түрінде оқиды және ең кіші және ең үлкен мәндерді шығарады.
Листинг 1.2
import sys # Загружает модуль sys
if len(sys.argv) != 2 : # Проверка количества аргументов
командной строки:
print “Пожалуйста, укажите имя файла” raise SystemExit(1) f = open(sys.argv[1]) # Имя файла, полу ченное из командной
строки
lines = f.readlines() # Читает все строки из файла в список
f.close()
# Преобразовать все значения из строк в числа с плавающей точкой
fvalues = [float(line) for line in lines]
# Вывести минимальное и максимальное значения print “Минимальное значение: “, min(fvalues)
print “Максимальное значение: “, max(fvalues)
Бұл бағдарламаның бірінші жолында import нұсқаулығы арқылы Python стандартты кітапханасынан sys модулі жүктеледі. Бұл модуль командалық жолдың аргументтеріне кіру үшін қолданылады.
оpen () функциясы командалық жолдың аргументі ретінде
алынған және sys.argv тізіміне енгізілген файл атауы беріледі. Readlines ()
әдісі файлдан барлық жолдарды оқып, жолдар тізімін қайтарады.
[Float(line) for line in lines] өрнегі барлық жолдарды өтіп, олардың әрқайсысына float() функциясын қолдана отырып, жаңа тізім жасайды. Бұл тізімдерді жасау үшін өте ыңғайлы конструктор тізім генераторы деп аталады. Файлдағы жолдарды for циклы арқылы оқуға болатындықтан, файлды оқу және түрлендіру арқылы бағдарламаны, төменде көрсетілгендей мәндерді бір нұсқауға түрлендіру арөылы қысқартуға болады:
fvalues = [float(line) for line in open(sys.argv[1])]
Кіріс жолдары тізімге түрлендірілген соң min(), max () функциялары арқылы оның ең кіші және ең үлкен мәндер іздестіріледі.