top of page
Урок 13. Списки

Конспект урока № 13.

Тема урока: Списки

Тип урока: урок усвоения новых знаний.

Цель урока: познакомить учащихся с основными понятиями.

Задачи урока:

Образовательная: познакомить учащихся с основными понятиями, научить применять на практике;

Развивающая: развивать у учащихся логическое и алгоритмическое мышление, навыки мыслительной деятельности, включая каждого учащегося в учебно-познавательный процесс и создавая условия для работы каждого в индивидуальном психологическом ритме;

Воспитательная: воспитывать у учащихся самостоятельность, активность, интерес к предмету.

Этапы урока:

1) Организационный момент – 1 мин.

                2) Изучение нового материала –  10 мин.

3) Рефлексия – 2 мин.

4) Самостоятельная работа – 22 мин.

                Оборудование:

  • Компьютер, Python (версия не ниже 3.5), модули Tkinter и NumPy, среды разработки на Python: IDLE, Eric или Geany, а также какие-либо эмуляторы терминалов _ xterm, rxvt, проектор.

 

Списки в языке программирования Python, как и строки, являются упорядоченными последовательностями. Однако, в отличии от строк, списки состоят не из символов, а из различных объектов (значений, данных), и заключаются не в кавычки, а в квадратные скобки []. Объекты отделяются друг от друга с помощью запятой.

Списки могут состоять из различных объектов: чисел, строк и даже других списков. В последнем случае, списки называют вложенными.

[23, 656, -20, 67, -45] #список целых чисел

[4.15, 5.93, 6.45, 9.3, 10.0, 11.6] #список из дробных чисел

[«Katy», «Sergei», «Oleg», «Dasha»] #список из строк

[«Москва», «Титова», 12, 148] #смешанный список

[[0, 0, 0], [0, 0, 1], [0, 1, 0]] #список, состоящий из списков

Листинг 1. Примеры списков

Как и над строками над списками можно выполнять операции соединения и повторения:

>>> [45, -12, 'april'] + [21, 48.5, 33]

[45, -12, 'april', 21, 48.5, 33]

>>> [[0,0], [0,1], [1,1]] * 2

[[0, 0], [0, 1], [1, 1], [0, 0], [0, 1], [1, 1]]

Листинг 2. Операции соединения и повторения над списками

По аналогии с символами строк, можно получать доступ к объектам списка по их индексам, извлекать срезы, измерять длину списка:

>>> li = ['a', 'b', 'c', 'd', 'e', 'f']

>>> len(li)

6

>>> li[0]

'a'

>>> li[4]

'e'

>>> li [0:3]

['a', 'b', 'c']

>>> li [3:]

['d', 'e', 'f']

Листинг 3. Доступ к объектам списка по его индексам

 

В отличии от строк, списки - это изменяемые последовательности. Если представить строку как объект в памяти, то когда над ней выполняются операции конкатенации и повторения, то это строка не меняется, а в результате операции создается другая строка в другом месте памяти. В строку нельзя добавить новый символ или удалить существующий, не создав при этом новой строки. Со списком дело обстоит иначе. При выполнении операций другие списки могут не создаваться, а изменяться непосредственно оригинал. Из списков можно удалять элементы, добавлять новые. При этом следует помнить, многое зависит от того, как вы распоряжаетесь переменными. Бывают ситуации, когда списки все-таки копируются. Например, результат операции присваивается другой переменной.

 

Символ в строке изменить нельзя, элемент списка - можно:

>>> mystr = 'abrakadabra'

>>> mylist = ['ab', 'ra', 'ka', 'da', 'bra']

>>> mystr[3] = '0'

Traceback (most recent call last):

File «<pyshell#11>», line 1, in <module>

mystr[3] = '0'

TypeError: 'str' object does not support item assignment

>>> mylist[1] = 'ro'

>>> mylist

['ab', 'ro', 'ka', 'da', 'bra']

>>> 

Листинг 4. Изменение элемента списка

В списке можно заменить целый срез:

>>> mylist [0:2] = [10,20]

>>> mylist

[10, 20, 'ka', 'da', 'bra']

Листинг 31. Замена среза в списке

Более сложная ситуация:

>>> alist = mylist [0:2] + [100,'it is ', 200] + mylist [2:] # новый список

>>> a2list = mylist # создается вторая ссылка-переменная на первый список

>>> alist

[10, 20, 100, 'it is ', 200, 'ka', 'da', 'bra']

>>> a2list

[10, 20, 'ka', 'da', 'bra']

>>> a2list[0] = '!!!' # изменяем список

>>> a2list

['!!!', 20, 'ka', 'da', 'bra']

>>> mylist # обе переменные связаны с одним списком

['!!!', 20, 'ka', 'da', 'bra']

Листинг 5. Замена элемента списка

 

Практическая работа

1. Создайте два любых списка и свяжите их с переменными.

2. Извлеките из первого списка второй элемент.

3. Измените во втором списке последний объект. Выведите список на экран.

4. Соедините оба списка в один, присвоив результат новой переменной. Выведите получившийся список на экран.

5. «Снимите» срез из соединенного списка так, чтобы туда попали некоторые части обоих первых списков. Срез свяжите с очередной новой переменной. Выведите значение этой переменной.

6. Добавьте в список-срез два новых элемента и снова выведите его.

 

Вопросы для контроля:

1. Из чего могут состоять списки?

2. Что такое списки?

3. Как связать списки с переменными?

© 2019 «КПВ Python». Сайт создан на Wix.com

bottom of page