Помощь в учёбе, очень быстро...
Работаем вместе до победы

Создание списка. 
Технологии и методы программирования

РефератПомощь в написанииУзнать стоимостьмоей работы

Функциональные возможности 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].

  • [1] Подробнее см.: https://docs.python.Org/3.6/library/functions.html#map.
  • [2] Подробнее см.: https://docs.python.Org/3.6/library/random.ht:ml.
Показать весь текст
Заполнить форму текущей работой