2.55M
Категория: ИнтернетИнтернет

Словари и методы. Изображение от Storyset на Freepik.com

1.

2023
Название программы
Python
Тема занятия
Словари
и методы
Изображение от Storyset на Freepik.com

2.

2023
План
занятия
Python
Введение
Теория
Словари
Теория
Основные методы
Теория
Методы чтения
Практика
Словари
Домашнее задание
Итоги
Изображение от Storyset на Freepik.com

3.

2023
Python
Проверяем
домашнее задание
1
Какие трудности возникли
при написании кода?
3
Пользовался ли ты конспектом урока
при решении домашней работы?
2
Искал ли ты информацию
в интернете?
4
Что больше всего
понравилось/не понравилось
в процессе выполнения задания?
Изображение от Storyset на Freepik.com

4.

2023
Python
Введение
На прошлом занятии мы изучали
типы данных, которые могут хранить
в себе сразу несколько значений.
Давай узнаем про них побольше!
Этими типами были списки и кортежи.
Их отличительной чертой была индексация,
позволяющая получить доступ к любому
элементу списка или кортежа с помощью
индекса этого элемента.
Словари хранят данные совсем
в другом виде.
Изображение от Storyset на Freepik.com

5.

2023
Python
Теория
Словари
Изображение от Storyset на Freepik.comс

6.

2023
Python
Теория
Словари это тип данных, позволяющих хранить
в себе множество различных значений,
отличающийся от списка и кортежа тем,
что словарь вместо индексации использует
пары ключ-значение.
В Python тип данных словаря называется
dict - сокращение от dictionary,
на русском языке – словарь.
Помнишь ли ты,
что такое индексация?
Изображение от Storyset на Freepik.com

7.

2023
Python
Теория
Если в списках элементам автоматически
присваивается индекс, то в словарях необходимо
самостоятельно придумывать ключ.
Словарь выглядит так
dict = {
"ключ": "значение"
}
Для создания и обозначения словаря
используются фигурные скобки.
В них, через двоеточие, указывается
пара ключ-значение.
Ключами в словаре могут быть следующие
типы данных: строки, числа и кортежи.
А значениями могут быть: числа, строки,
списки, кортежи и даже другие словари.

8.

2023
Python
Теория
Словарь является изменяемым и при этом
неупорядоченным типом данных.
Это значит, что мы можем изменять словарь,
но обратиться по индексу не можем,
ведь у словаря их нет.
dict = {
"ключ": "значение",
123: 1234,
"список": ["1", 2, "3"]
}
print(dict["список"])
>>> ['1', 2, '3']
То есть вот такая запись приведет к ошибке:
dict = {
"ключ": "значение"
}
print(dict[0])

9.

2023
Python
Теория
Чтобы получить доступ к значению в словаре,
необходимо вместо индекса вписать ключ:
dict = {
"ключ": "значение"
}
print(dict["ключ"])
>>> значение
Изображение от Storyset на Freepik.com

10.

2023
Python
Теория
Основные
методы
Словари, как и все типы данных, имеют
набор собственных методов, которые
помогают выполнять те или иные задачи.
Давай разберём основные методы словарей.
Изображение от Storyset на Freepik.comс

11.

2023
Python
Теория
Словари, как и все типы данных,
имеют набор собственных методов,
которые помогают выполнять
те или иные задачи.
Давай разберём
основные методы словарей.
Изображение от Storyset на Freepik.com

12.

2023
Python
Теория
1.
Добавление значения
Добавить новое значение в словарь можно просто
написав имя словаря, поставив квадратные скобки,
вписав туда новый ключ и присвоив значение,
как новой переменной:
dict = {"ключ": "значение"}
dict[2023] = "Год Кролика"
print(dict)
>>> {'ключ': 'значение', 2023: 'Год Кролика'}

13.

2023
Python
Теория
2.
Изменение значения
Изменять значения можно таким же образом:
dict[2023] = "Год Водяного Кролика"
print(dict)
>>> {'ключ': 'значение', 2023: 'Год Водяного Кролика'}
Как видишь, значение
действительно поменялось.

14.

2023
Python
Теория
3.
Удаление значений
Удаление через del
Используя оператор del можно удалить пару
значений по такому же принципу, как и в списках:
после оператора указать имя словаря,
а в квадратных скобках указать ключ,
значение которого необходимо удалить.
del dict["ключ"]
print(dict)
>>> {2023: 'Год Водяного Кролика'}

15.

2023
Python
Теория
Удаление значений
3.
Удаление через метод pop()
Но это не основная функция метода pop().
Он предназначен для того, чтобы вытаскивать
из списков/словарей значения.
Посмотри, что получится, если мы сохраним
результат функции pop() в переменную.
Используя метод pop(), указав в скобки нужный
ключ, можно также удалить элемент из словаря:
dict.pop(2023)
print(dict)
>>> {}
dict = {2023: 'Год Водяного Кролика'}
rez = dict.pop(2023)
print(rez)
>>> Год Водяного Кролика
Удалять можно даже последний элемент,
словарь просто станет пустым.

16.

2023
Python
Теория
3.
Удаление значений
Вытащить и ключ тоже
Удалить последний элемент в списке
не представляется трудностью, можно
указать индекс -1 при удалении.
Но как удалить последний добавленный
элемент в словарь, в нём ведь нет индексов?

17.

2023
Python
Теория
3.
Удаление значений
Вытащить и ключ тоже
Для этого нам пригодится метод popitem():
dict = {"ключ": "значение"}
dict[2023] = "Год Кролика"
dict["Макароны"] = "спагетти"
print(dict)
rez = dict.popitem()
print(dict)
print(rez)
>>>
{'ключ': 'значение', 2023: 'Год Кролика', 'макароны': 'спагетти'}
{'ключ': 'значение', 2023: 'Год Кролика'}
('Макароны', 'спагетти')

18.

2023
Python
Теория
3.
Удаление значений
Очищение всего словаря
Чтобы очистить словарь,
нам пригодится метод clear()
print(dict)
dict.clear()
print(dict)
>>>
{'ключ': 'значение', 2023: 'Год Кролика', 'макароны': 'спагетти'}
{}

19.

2023
Теория
Методы
чтения
Python

20.

2023
Python
Теория
В Python существуют специальные
методы, предназначенные для чтения
данных из словарей.
Сейчас мы разберём два из них:
Изображение от Storyset на Freepik.com

21.

2023
Теория
1. keys() — ключи
Этот метод позволяет получить
список из всех ключей словаря.
Но использовать его нужно в паре
с функциями list() или tuple()!
example = {'персона': 'человек',
'марафон': 'гонка бегунов длиной около 26 миль',
'противостоять: оставаться сильным, несмотря на давление',
'бежать': 'двигаться со скоростью'}
print(list(example.keys()))
>>> ['персона', 'марафон', 'противостоять', 'бежать']
Python

22.

2023
Теория
2. values() — значения
Этот метод позволяет получить
список из всех значений словаря.
Но использовать его нужно также
в паре с функциями list() или tuple()!
print(list(example.values()))
>>>
['человек', 'гонка бегунов длиной около 26 миль', 'оставаться сильным',
'несмотря на давление', 'двигаться со скоростью']
Python

23.

2023
Python
Практика
Словари
Изображение от Storyset на Freepik.comс

24.

2023
Практика
Телефонная книга
Нужно создать телефонную книгу,
в которой будут храниться номера
телефонов разных абонентов.
Каждому ФИО соответствует
один номер телефона.
Поиск в книге будет производиться
по фамилии абонента и, если такой
номер существует, выводиться в консоль.
Python

25.

2023
Python
Практика
Телефонная книга
Нужно создать телефонную книгу,
в которой будут храниться номера
телефонов разных абонентов.
Каждому ФИО соответствует
один номер телефона.
Поиск в книге будет производиться
по фамилии абонента и, если такой
номер существует, выводиться в консоль.
phone_book= {
'Белозеров': '+7 120 959 45 19',
'Владимиров': '+7 (342) 787-1717',
'Симонов': '+7 550 642 49 52',
'Герасимова': '+7 056 273 2478'
}
last_name = input("Введите фамилию -> ")
print(f"Найден номер телефона: {phone_book[last_name]}")

26.

2023
Практика
Новый телефон
Владимиров купил новый телефон
и симку, у него поменялся номер.
С помощью метода редактирования
измени Владимирову номер телефона.
Python

27.

2023
Python
Практика
Новый телефон
Владимиров купил новый телефон
и симку, у него поменялся номер.
С помощью метода редактирования
измени Владимирову номер телефона.
phone_book = {
'Белозеров': '+7 120 959 45 19',
'Владимиров': '+7 (342) 787-1717',
'Симонов': '+7 550 642 49 52',
'Герасимова': '+7 056 273 2478'
}
phone_book["Владимиров"] = '+79175694884'
last_name = input("Введите фамилию -> ")
print(f"Найден номер телефона: {phone_book[last_name]}")

28.

2023
Python
Практика
Переезд
Герасимова переезжает в другую
область и отключает свой номер.
Удали её номер из телефонной
книги с помощью метода pop().
phone_book = {
'Белозеров': '+7 120 959 45 19',
'Владимиров': '+7 (342) 787-1717',
'Симонов': '+7 550 642 49 52',
'Герасимова': '+7 056 273 2478'
}
phone_book["Владимиров"] = '+79175694884'
phone_book.pop("Герасимова")

29.

2023
Python
Практика
Переезд
Герасимова переезжает в другую
область и отключает свой номер.
Удали её номер из телефонной
книги с помощью метода pop().
phone_book = {
'Белозеров': '+7 120 959 45 19',
'Владимиров': '+7 (342) 787-1717',
'Симонов': '+7 550 642 49 52',
'Герасимова': '+7 056 273 2478'
}
phone_book["Владимиров"] = '+79175694884'
phone_book.pop("Герасимова")

30.

2023
Python
Домашнее
задание
1. Модификация
Телефонная книга обновилась и теперь позволяет
абонентам иметь в базе сразу несколько номеров,
но код остался прежним. Улучши код таким образом,
чтобы у каждой фамилии мог быть не один номер.
В этом тебе помогут списки!
Подумай, где в коде их можно
использовать, чтобы решить эту задачку
Изображение от Storyset на Freepik.com

31.

2023
Python
Домашнее
задание
2. Все абоненты
Выведи в консоль список всех абонентов
из телефонной книги.
Используй для этого метод values()
Изображение от Storyset на Freepik.com

32.

2023
Python
Итоги
Что нового сегодня
было на занятии?
Как ты думаешь, где еще
ты бы мог применить словари?
Какое метод показался
тебе самым простым?
Есть ли преимущество
у словарей перед списками?
Изображение от Storyset на Freepik.com
English     Русский Правила