Циклы и последовательности

Разбор домашних заданий

Списки

Списки — это последовательности, которые хранят произвольные объекты.

Цикл `for` для списка

Индексирование

Индексы на N элементов в Python3 всегда начинаются с 0 и заканчиваются N-1

Объекты типа range

Range (диапазон) — это вычислимая последовательность. Можно представить себе, что это список, элементы которого не хранятся в памяти, а вычисляются по ходу:

Упражнение: заменить отрицательные элементы положительными

   1 a = [12,-657,34,-67,0,467,-78,-45,0,56,-78,89,-89,80,0,2]
   2 
   3 for i in range(len(a)):
   4     if a[i] < 0:
   5         a[i] = -a[i]
   6 print(a)

Некоторые методы списков

Операции insert(i,e) и pop(i) требуют перемещать элементы списка (соответственно, вправо, чтобы образовалось свободное место, и влево, чтобы после удаления не пустовало). Если вставлять/удалять в начале вписка, то переставлять придётся все его элементы.

А вот операции append()/pop() работают с концом списка и не требуют ничего перемешать. Эти «дешёвые» операции реализуют абстракцию «стек» (FILO), которая очен:ь часто встречается в различных алгоритмах.

Упражнение: ввод списка до 0

   1 a = []
   2 
   3 e = int(input())
   4 while e!=0:
   5     a.append(e)
   6     e = int(input())
   7 print(a)

Ввод списка с помощью eval(input())

/!\ (не успели) Поиск первого (например, отрицательного) и for, клауза exit /!\ не успели .remove()/index()/in

Д/З

[100,90,100,90,100,-120,100,-120,100,-120,100,90,100,90]

даёт такую фигуру:

Нарисовать ещё что-нибудь осмысленное :)

Python/PsyPython2018/07_Sequences (последним исправлял пользователь FrBrGeorge 2018-10-24 09:56:08)