Слайд 2Повторение
Что такое циклический алгоритм?
Что возвращает функция range()?
Приведите пример цикла for
Приведите пример цикла
![Повторение Что такое циклический алгоритм? Что возвращает функция range()? Приведите пример цикла](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-1.jpg)
while
Для чего нужен оператор Break?
Для чего нужен оператор Continue?
Слайд 3Списки
С каким видом «списка» мы уже знакомы? Строки и range() возвращает список.
![Списки С каким видом «списка» мы уже знакомы? Строки и range() возвращает](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-2.jpg)
Т.е. список – это последовательность, набор каких-то данных. В случае со строками это набор однотипных символов, в случае с функцией range() это набор чисел.
Но когда нам нужно хранить другие объекты? Несколько строк например, или разные, неупорядоченные числа. В этом нам поможет такой тип данных как список.
Слайд 4Списки
Список (list) представляет собой изменяемый тип данных, который хранит набор или последовательность
![Списки Список (list) представляет собой изменяемый тип данных, который хранит набор или](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-3.jpg)
элементов. Для создания списка в квадратных скобках ([]) через запятую перечисляются все его элементы.
Также для создания списка можно использовать конструктор list():
Оба этих определения списка аналогичны - они создают пустой список.
Слайд 5Списки
Конструктор list для создания списка может принимать другой список.
Для обращения к элементам
![Списки Конструктор list для создания списка может принимать другой список. Для обращения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-4.jpg)
списка надо использовать индексы, которые представляют номер элемента в списка. Индексы начинаются с нуля. То есть второй элемент будет иметь индекс 1. \Для обращения к элементам с конца можно использовать отрицательные индексы, начиная с -1. То есть у последнего элемента будет индекс -1, у предпоследнего - -2 и так далее.
Слайд 6Списки
Список необязательно должен содержать только однотипные объекты. Мы можем поместить в один
![Списки Список необязательно должен содержать только однотипные объекты. Мы можем поместить в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-5.jpg)
и тот же список одновременно строки, числа, объекты других типов данных.
Для перебора элементов можно использовать как цикл for, так и цикл while. Перебор с помощью цикла for:
Слайд 7Практика
Измените под цикл while. Чтобы узнать количество элементов в списке, необходимо воспользоваться
![Практика Измените под цикл while. Чтобы узнать количество элементов в списке, необходимо воспользоваться функцией len(переменная-список).](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-6.jpg)
функцией len(переменная-список).
Слайд 8Методы и функции по работе со списками
Для управления элементами списки имеют целый
![Методы и функции по работе со списками Для управления элементами списки имеют](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-7.jpg)
ряд методов. Некоторые из них:
append(item): добавляет элемент item в конец списка
insert(index, item): добавляет элемент item в список по индексу index
remove(item): удаляет элемент item. Удаляется только первое вхождение элемента. Если элемент не найден, генерирует исключение ValueError
clear(): удаление всех элементов из списка
index(item): возвращает индекс элемента item. Если элемент не найден, генерирует исключение ValueError
pop([index]): удаляет и возвращает элемент по индексу index. Если индекс не передан, то просто удаляет последний элемент.
count(item): возвращает количество вхождений элемента item в список
sort([key]): сортирует элементы. По умолчанию сортирует по возрастанию. Но с помощью параметра key мы можем передать функцию сортировки.
reverse(): расставляет все элементы в списке в обратном порядке
Слайд 9Проверка наличия элемента
Если определенный элемент не найден, то методы remove и index
![Проверка наличия элемента Если определенный элемент не найден, то методы remove и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-8.jpg)
генерируют исключение. Чтобы избежать подобной ситуации, перед операцией с элементом можно проверять его наличие с помощью ключевого слова in:
Слайд 10Списки списков
Списки кроме стандартных данных типа строк, чисел, также могут содержать другие
![Списки списков Списки кроме стандартных данных типа строк, чисел, также могут содержать](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-9.jpg)
списки. Подобные списки можно ассоциировать с таблицами, где вложенные списки выполняют роль строк. Например:
Чтобы обратиться к элементу вложенного списка, необходимо использовать пару индексов: users[0][1] обращение ко второму элементу первого вложенного списка.
Слайд 11Кортежи
Кортеж (tuple) представляет последовательность элементов, которая во многом похожа на список за
![Кортежи Кортеж (tuple) представляет последовательность элементов, которая во многом похожа на список](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-10.jpg)
тем исключением, что кортеж является неизменяемым (immutable) типом. Поэтому мы не можем добавлять или удалять элементы в кортеже, изменять его.
Для создания кортежа используются круглые скобки, в которые помещаются его значения, разделенные запятыми:
Если вдруг кортеж состоит из одного элемента, то после единственного элемента кортежа необходимо поставить запятую:
Слайд 12Кортежи
Для создания кортежа из списка можно передать список в функцию tuple(), которая
![Кортежи Для создания кортежа из списка можно передать список в функцию tuple(),](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-11.jpg)
возвратит кортеж:
Обращение к элементам в кортеже происходит также, как и в списке по индексу. Индексация начинается также с нуля при получении элементов с начала списка и с -1 при получении элементов с конца списка. Попробуйте получить элементы списка сами.
Слайд 13Перебор кортежей
Для перебора кортежа можно использовать стандартные циклы for и while. С помощью цикла for:
С
![Перебор кортежей Для перебора кортежа можно использовать стандартные циклы for и while.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-12.jpg)
помощью цикла while:
Слайд 14Кортежи
Как для списка с помощью выражения элемент in кортеж можно проверить наличие элемента
![Кортежи Как для списка с помощью выражения элемент in кортеж можно проверить](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-13.jpg)
в кортеже.
Один кортеж может содержать другие кортежи в виде элементов.
Слайд 15Практика
Есть список a = [1, 1, 2, 3, 5, 8, 13, 21,
![Практика Есть список a = [1, 1, 2, 3, 5, 8, 13,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-14.jpg)
34, 55, 89]. Выведите все элементы, которые меньше 5.
Слайд 16Практика
Даны списки:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34,
![Практика Даны списки: a = [1, 1, 2, 3, 5, 8, 13,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899775/slide-15.jpg)
55, 89];
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13].
Нужно вернуть список, который состоит из элементов, общих для этих двух списков.