Слайд 2 СПИСКИ (list)
Что такое списки? (начальные сведения)
Создание списков - конструктор list():
Индексы
Примеры списков
Перебор списка

с помощью цикла for
Перебор списка с помощью цикла while
Печать списков в столбик
Методы и функции по работе со списками
Append(item) -добавляет элемент item в конец списка
insert(index, item): добавляет элемент item в список по индексу index
Слайд 3
index(item): возвращает индекс элемента item
pop([index]): удаляет и возвращает элемент по индексу index.
![index(item): возвращает индекс элемента item pop([index]): удаляет и возвращает элемент по индексу](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-2.jpg)
remove(item): удаляет элемент item.
Проверка наличия элемента
Подсчет вхождений
Сортировка
Сортировка в обратном порядке
Минимальное и максимальное значения
9. Тренажер работы со списками
10. Функции работы со списками type(); len(); id().
11. Ввод списка строк через пробел
Слайд 41. Что такое списки?
(начальные сведения)
Список (list) представляет тип данных, который хранит набор

или последовательность элементов.
Для создания списка в квадратных скобках через запятую перечисляются все его элементы.
Во многих языках программирования есть аналогичная структура данных, которая называется массив. Например, определим список чисел:
numbers = [1, 2, 3, 4, 5]
Слайд 52. Создание списков - конструктор list():
Также для создания списка можно использовать конструктор

list():
numbers1 = []
numbers2 = list()
Оба этих определения списка аналогичны - они создают пустой список.
Слайд 63. Индексы
Для обращения к элементам списка надо использовать индексы, которые представляют номер

элемента в списка.
Индексы начинаются с нуля. То есть второй элемент будет иметь индекс 1. Для обращения к элементам с конца можно использовать отрицательные индексы, начиная с -1. То есть у последнего элемента будет индекс -1, у предпоследнего - -2 и так далее.
numbers = [1, 2, 3, 4, 5]
print(numbers[0]) # 1
print(numbers[2]) # 3
print(numbers[-3]) # 3
numbers[0] = 125 # изменяем первый элемент списка
print(numbers[0]) # 125
Слайд 74. Примеры списков
Список необязательно должен содержать только однотипные объекты. Мы можем поместить

в один и тот же список одновременно строки, числа, объекты других типов данных:
a = [2, 2.25, "Python"]
objects = [1, 2.6, "Hello", True]
a = [1, 2, 3, 4]
b = [2.71828 , 3.14159 , -1]
c = [’Vera ’, ’Nadezhda ’, ’Lyubov ’]
d = [True , False ]
f = [1, True , 2.333 , ’abcdefgh ’]
Слайд 8# ПОВТОРЕНИЕ тема оператор цикла for
for x in ["A",5,True,0.75,"Vasja"]:
print(x, type(x))
# A
![# ПОВТОРЕНИЕ тема оператор цикла for for x in ["A",5,True,0.75,"Vasja"]: print(x, type(x))](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-7.jpg)
# 5
# True
# 0.75
# Vasja
Слайд 9lst = ["Москва", "Санкт-Петербург", "Тверь", "Казань"]
#1
lst = ["Москва", "Санкт-Петербург", "Тверь", "Казань"]
print('lst=',lst,type(lst),'len(lst)=',len(lst))
print(lst[0])
print(lst[1])
print(lst[len(lst)-1])
print(lst[-1])
![lst = ["Москва", "Санкт-Петербург", "Тверь", "Казань"] #1 lst = ["Москва", "Санкт-Петербург", "Тверь",](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-8.jpg)
Слайд 105. Перебор списка с помощью цикла for
#6
companies = ["Microsoft", "Google", "Oracle", "Apple"]
for

item in companies:
print(item)
"""
Microsoft
Google
Oracle
Apple
"""
Слайд 11#7
#ПЕРЕБОР – ПЕЧАТЬ ЭЛЕМЕНТОВ СПИСКА
# для перебора элементов списка в Python
# очень

удобно использовать цикл for:
lst = ["Москва", "Санкт-Петербург", "Тверь", "Казань"]
for city in lst:
print(city)
print(city,type(city),id(city))
Слайд 126. Перебор с помощью цикла while:
#8
"""
Для перебора с помощью функции len()
получаем длину

списка. С помощью счетчика
i выводит по элементу, пока значение
счетчика не станет равно длине списка.
"""
companies = ["Microsoft", "Google", "Oracle", "Apple"]
i = 0
while i < len(companies):
print(companies[i])
i += 1
Слайд 137. Печать списков в столбик
#9 Функция. Печать списка группы - передаем список
#Вариант

1 for
spis_gr_1=["Иванов","Петров","Сидоров","Аверин","Куценко"]
spis_gr_2=["Пугачева","Киркоров","Маменко","Булитко"]
def print_spisok(lst):
n=0
for st in lst:
print(n,st)
n+=1
print_spisok(spis_gr_1)
Слайд 14#10 Функция. Печать списка группы - передаем список
#Вариант 2 for
spis_gr_1=["Иванов","Петров","Сидоров","Аверин","Куценко"]
spis_gr_2=["Пугачева","Киркоров","Маменко","Булитко"]
def print_spisok(lst):
for
![#10 Функция. Печать списка группы - передаем список #Вариант 2 for spis_gr_1=["Иванов","Петров","Сидоров","Аверин","Куценко"]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-13.jpg)
i in range(len(lst)):
print(i-1,lst[i])
print_spisok(spis_gr_1)
Слайд 15#11 Функция. Печать списка группы - передаем список
#Вариант 3 while
spis_gr_1=["Иванов","Петров","Сидоров","Аверин","Куценко"]
spis_gr_2=["Пугачева","Киркоров","Маменко","Булитко"]
def print_spisok(lst):
i=0
![#11 Функция. Печать списка группы - передаем список #Вариант 3 while spis_gr_1=["Иванов","Петров","Сидоров","Аверин","Куценко"]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-14.jpg)
while i < len(lst):
print(i, lst[i])
i += 1
print_spisok(spis_gr_1)
Слайд 168. Методы и функции по работе со списками
# 12. append(item): добавляет элемент

item в конец списка
users = ["Tom", "Bob"]
# добавляем в конец списка
users.append("Alice")
print(users)
# ["Tom", "Bob", "Alice"]
Слайд 17#13 Метод append() вставляет в конец
# исходного списка значение аргумента.
ist_000001 =["Иванов","Петров"]
print(ist_000001,len(ist_000001),type(ist_000001),id(ist_000001))
#['Иванов', 'Петров']

2 49077960
ist_000001.append("Сидоров")
print(ist_000001,len(ist_000001),type(ist_000001),id(ist_000001))
#['Иванов', 'Петров', 'Сидоров'] 3 49077960
Слайд 18def eggs(someParameter):
someParameter.append('Hello')
spam = [1, 2, 3]
eggs(spam)
print(spam)
#[1, 2, 3, 'Hello']
![def eggs(someParameter): someParameter.append('Hello') spam = [1, 2, 3] eggs(spam) print(spam) #[1, 2, 3, 'Hello']](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-17.jpg)
Слайд 19"""
14. insert(index, item): добавляет элемент
item в список по индексу index
"""
# добавляем на

вторую позицию
users=["Tom", "Bob", "Alice"]
users.insert(1, "Bill")
print(users)
# ["Tom", "Bill", "Bob", "Alice"]
Слайд 20"""
15. index(item): возвращает индекс элемента item.
Если элемент не найден, генерирует
исключение ValueError
"""
# получаем

индекс элемента
users=["Tom", "Bill", "Bob", "Alice"]
i = users.index("Tom")
print(i) # 0
Слайд 21"""
12. pop([index]): удаляет и возвращает элемент
по индексу index. Если индекс не передан,
то
![""" 12. pop([index]): удаляет и возвращает элемент по индексу index. Если индекс](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-20.jpg)
просто удаляет последний элемент.
"""
# # удаляем по этому индексу
users=["Tom", "Bill", "Bob", "Alice"]
i=2
removed_item = users.pop(i)
print(removed_item)#Bob
print(users)
#['Tom', 'Bill', 'Alice']
Слайд 22"""
13. remove(item): удаляет элемент item.
Удаляется только первое вхождение элемента.
Если элемент не найден,
генерирует

исключение ValueError
"""
users=["Tom", "Bill", "Bob", "Alice"]
# удаляем последний элемент
last_user = users[-1]
print(last_user) #Alice
users.remove(last_user)
print(users)
['Tom', 'Bill', 'Bob']
Слайд 23#14. Проверка наличия элемента
"""
Проверка наличия элемента Если определенный элемент не найден, то

методы remove и index генерируют исключение.
Чтобы избежать подобной ситуации, перед операцией с элементом можно проверять его наличие с помощью ключевого слова in:
"""
companies = ["Microsoft", "Google", "Oracle", "Apple"]
item = "Oracle" # элемент для удаления
if item in companies:
companies.remove(item)
print(companies)
#['Microsoft', 'Google', 'Apple']
#Выражение item in companies возвращает True, если элемент item имеется в списке companies. Поэтому конструкция if item in companies может выполнить последующий блок инструкций в зависимости от наличия элемента в списке.
Слайд 24#15. Подсчет вхождений
"""
count(item): возвращает количество вхождений элемента item в список
Если необходимо узнать,

сколько раз
в списке присутствует тот или иной элемент,
то можно применить метод count():
"""
users = ["Tom", "Bob", "Alice", "Tom", "Bill", "Tom"]
users_count = users.count("Tom")
print(users_count) # 3
Слайд 25#16 Сортировка
""“
Для сортировки по возрастанию применяется
метод sort():""
"""
users = ["Tom", "Bob", "Alice", "Sam",

"Bill"]
users.sort()
print(users) # ["Alice", "Bill", "Bob", "Sam", "Tom"]
Слайд 26#17. Сортировка в обратном порядке
"""
Если необходимо отсортировать данные
в обратном порядке, то мы

можем после сортировки применить метод reverse():
"""
users = ["Tom", "Bob", "Alice", "Sam", "Bill"]
users.reverse()
print(users)
# ["Tom", "Sam", "Bob", "Bill", "Alice"]
Слайд 27#18. Минимальное и максимальное значения
"""
Встроенный функции Python min() и max()
позволяют найти минимальное
и

максимальное значения соответственно:
"""
numbers = [9, 21, 12, 1, 3, 15, 18]
print(min(numbers)) # 1
print(max(numbers)) # 21
Слайд 289. Тренажер работы со списками
#Тренажер работы со списками
spis_gr=["Иванов","Петров","Сидоров","Аверин",
"Куценко","Пугачева",
"Киркоров","Маменко","Булитко"]
ist_0001=["Иванов","Петров"]
def print_spisok(lst):
i=0
![9. Тренажер работы со списками #Тренажер работы со списками spis_gr=["Иванов","Петров","Сидоров","Аверин", "Куценко","Пугачева", "Киркоров","Маменко","Булитко"]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-27.jpg)
while i < len(lst):
print(i+1, lst[i])
i += 1
menu='''
МЕНЮ ПРОГРАММЫ "Список Группы":
1 - вывести на печать текущий список в строку;
2 - вывод списка в столбик
3- добавить в список;
4 - отсортировать список по возрастанию;
5 - отвортировать список по убыванию;
6 - число элементов в списке;
Введите число или пробел - для выхода из программы:
'''
Слайд 29def work_with_list(lst):
print(menu)
while True:
z = input('Введите режим: ')
if z=='1':

print(lst)
elif z=='2':
print_spisok(lst)
elif z=='3':
name= input("Введите фамилию: ")
lst.append(name)
elif z=='4':
lst.sort()
elif z=='5':
lst.reverse()
elif z=='6':
print(len(lst))
elif z=='':
break
else:
print("Нет такой цифры")
print("Работа программы закончена!")
work_with_list(spis_gr)
Слайд 30import copy
spam = ['A', 'B', 'C', 'D']
print(spam,id(spam))
cheese = copy.copy(spam)
print(cheese,id(cheese))
cheese[1] = 42
print(spam,id(spam))
print(cheese,id(cheese))
# spam
![import copy spam = ['A', 'B', 'C', 'D'] print(spam,id(spam)) cheese = copy.copy(spam)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1103261/slide-29.jpg)
['A', 'B', 'C', 'D']
# cheese ['A', 42, 'C', 'D']
Слайд 31#Исходный список ist_0001_old не изменяется
# ДО вызова функции work_with_list(lst)
# ist_0001_old: ['Иванов', 'Петров']

14707176
# ist_0001_old_copy: ['Иванов', 'Петров'] 14707112
# ПОСЛЕ вызова функции work_with_list(lst)
# ist_0001_old: ['Иванов', 'Петров'] 14707176
# ist_0001_old_copy: ['Иванов', 'Петров', 'Kozlovsky'] 14707112
# ist_0001_new: ['Иванов', 'Петров', 'Kozlovsky'] 14707112
import copy
ist_0001_old=["Иванов","Петров"]
ist_0001_old_copy = copy.copy(ist_0001_old)
def print_spisok(lst):
i=0
while i < len(lst):
print(i+1, lst[i])
i += 1
menu='''
МЕНЮ ПРОГРАММЫ "Список Группы":
1 - вывести на печать текущий список в строку;
2 - вывод списка в столбик
3- добавить в список;
4 - отсортировать список по возрастанию;
5 - отвортировать список по убыванию;
6 - число элементов в списке;
Введите число или пробел - для выхода из программы:
'''
Слайд 32def work_with_list(lst):
print(menu)
while True:
z = input('Введите режим: ')
if z=='1':

print(lst)
elif z=='2':
print_spisok(lst)
elif z=='3':
name= input("Введите фамилию: ")
lst.append(name)
elif z=='4':
lst.sort()
elif z=='5':
lst.reverse()
elif z=='6':
print(len(lst))
elif z=='':
break
else:
print("Нет такой цифры")
print("Работа программы закончена!")
return lst
print("ist_0001_old:",ist_0001_old,id(ist_0001_old))
print("ist_0001_old_copy:",ist_0001_old_copy,id(ist_0001_old_copy))
# ist_0001_old: ['Иванов', 'Петров'] 14707176
# ist_0001_old_copy: ['Иванов', 'Петров'] 14707112
ist_0001_new= work_with_list(ist_0001_old_copy)
print("ist_0001_old:",ist_0001_old,id(ist_0001_old))
print("ist_0001_old_copy:",ist_0001_old_copy,id(ist_0001_old_copy))
print("ist_0001_new:",ist_0001_new,id(ist_0001_new))
# ist_0001_old: ['Иванов', 'Петров'] 14707176
# ist_0001_old_copy: ['Иванов', 'Петров', 'Kozlovsky'] 14707112
# ist_0001_new: ['Иванов', 'Петров', 'Kozlovsky'] 14707112