Создание списка.
Технологии и методы программирования
Функциональные возможности Python позволяют определять небольшие однострочные функции на месте вызова функции (исторически такие функции получили название ^-функций): Инструкция for позволяет последовательно из диапазона от 1 до 14 выбрать числа и с помощью метода append, находящегося в теле цикла, добавить их к списку а. По аналогии со списками можно последовательно перебирать символы из строки… Читать ещё >
Создание списка. Технологии и методы программирования (реферат, курсовая, диплом, контрольная)
Первым рассмотрим пример создания списка с помощью метода append:
«> а = [].
>" for i in range (1,15): a. append (i).
>>> a.
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].
Инструкция for позволяет последовательно из диапазона от 1 до 14 выбрать числа и с помощью метода append, находящегося в теле цикла, добавить их к списку а.
Следующий пример — создание списка из диапазона с помощью функции list:
>>> а = list (range (1, 15)).
>>> а.
[1, 2, 3, 4, 5, б, 7, 8, 9, 10, 11, 12, 13, 14].
Python поддерживает отдельные возможности функционального стиля программирования, который строится исключительно на вызове функций и позволяет компактно записывать команды. Одна из таких возможностей — «списковое включение» (list comprehension, иначе «списочное встраивание»). Рассмотрим его применительно к созданию списка:
>" а = [i for i in range (1,15)].
«> a.
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].
Правила работы со списковым включением представлены на рис. 4.35.
Рис. 435. Схема использования спискового включения.
В следующем примере выбираем из диапазона вес числа от 1 до 14, возводим их в квадрат и «на лету» формируем из них новый список:
>>> а = [i**2 for i in range (l/ 15)].
>>> a.
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196].
Списковое включение позволяет задавать условие для выбора значения из диапазона (в следующем примере исключили значение 4):
>>> а = [i**2 for i in ranged, 15) if i ≠ 4].
>>> a.
[1, 4, 9, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196].
Вместо диапазонов, генерируемых функцией range, можно указывать существующий список:
>>> а = [2, -2, 4, -4, 7, 5].
>>> Ъ = [i**2 for i in a].
>>> b.
[4, 4, 16, 16, 49, 25].
В примере последовательно выбираются значения из списка а, каждый из его элементов возводится в квадрат и «на лету» добавляется в новый список.
По аналогии со списками можно последовательно перебирать символы из строки и формировать из них список (в следующем примере исключили символ i):
>" с = [с*3 for с in 'list' if с i= 'i'].
>" с.
[ ' 111', ' sss', ' ttt' ].
Функция шар[1] позволяет, используя функциональный стиль программирования, создавать новый список на основе существующего:
>" def f (х) :
return х + 5.
>>> list (map (f, [1, 3, 4])).
[6, 8, 9].
В примере функция шар принимает в качестве аргументов имя функции f и список (или строку). В процессе вызова функции шар каждый элемент указанного списка (или строки) подается на вход функции f, и результат вызова функции f для каждого из элементов указанного списка «на лету» добавляется как элемент нового списка. Функция шар возвращает объект типа шар, поэтому получить итоговый список можно с помощью инструкции for либо функции list.
Пример вызова функции шар для строки:
>>> def f (s):
return s * 2.
>>> list (map (f/ «hello»)).
['hh', 'ee', 'll'/ 'll'/ 'oo'].
Функциональные возможности Python позволяют определять небольшие однострочные функции на месте вызова функции (исторически такие функции получили название ^-функций):
>" list (map (lambda s: s*2, «hello»)).
['hh', 'ee', 'll', 'll', 'oo'].
Далее рассмотрим генерацию списка, состоящего из случайных целых чисел:
>" from random import randint.
>>> A = [randint (1, 9) for i in range (5)].
>>> A.
[2, 1, 1, 7, 8].
В данном примере функция range выступает как счетчик количества элементов создаваемого списка. Обратите внимание, что при формировании нового списка переменная i не используется. В результате пять раз будет произведен вызов функции randint[2], которая сгенерирует целое псевдослучайное число из интервала от 1 до 9, и уже это число добавится в новый список.
Сформируем список, значения для которого будем задавать с клавиатуры:
# input_list.ру, а = [] # объявляем пустой список.
n = int (input ()) # указываем количество элементов списка for i in range (n): # функция range контролирует длину # списка.
new_element = int (input ()) # указываем очередной.
# элемент списка а. append (new_element) # добавляем элемент в список.
# последние две строки можно было заменить одной:
# a. append (int (input ())) print (a).
Результат выполнения программы:
- 3
- 4 2 1
[4, 2, 1].
Перепишем программу в одну строку, используя возможности спискового включения:
>" А = [int (input ()) for i in range (int (input ())) ].
- 3
- 4 2 1
>>> A [4, 2, 1].