ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:00:46
Создание словаря и работа с ним:
  • 1. Созданный спикером словарь должен именоваться словом «country»
  • 2. В словаре ключи могут иметь разные типы данных (числа, булевы значения)
  • 3. Для обращения к элементам словаря используются квадратные скобки с указанием ключа
00:02:03
Типы ключей и значений словаря:
  • Создан словарь, где указаны коды стран (например, ua, р. Ю.) и названия стран (russian, Россия)
  • К каждому ключу добавлены дополнительные характеристики, такие как численность населения (в сотнях миллионов человек)
  • Использование строковых ключей предпочтительнее числовых, поскольку легче обращаться по названию ключа, чем по индексу
00:04:35
Альтернативный способ создания словаря:
  • 1. Рассматривается возможность замены способа написания словарей на использование функции `dict` вместо фигурных скобок
  • 2. Предлагается создать словарь с указанием ключей и значений в новом формате
  • 3. Обсуждается удобство и корректность работы предложенного метода создания словаря
00:05:51
Перебор элементов словаря:
  • Решили использовать цикл `for` для перебора словарей, кортежей и списков
  • Введена новая переменная `chi`, заменяющая предыдущую переменную `y`, для обозначения ключей словаря
  • Для вывода одновременно ключа и значения словаря предложено воспользоваться функцией `.items()`
00:08:24
Методы словаря:
  • Рассматривались различные методы работы с элементами словарей (использование квадратных скобок, метода `get`, методов очистки словаря (`clear`), удаления элементов по ключу (`pop`) и последнего элемента (`popitem`))
  • Обсуждались способы получения ключей, значений и пар ключ-значение из словаря (методы `keys()`, `values()` и `items()`)
  • Упоминалось удобство словарей для описания различных объектов и структур данных
00:11:42
Работа с вложенными структурами:
  • Создан словарь `person`, содержащий ключи и значения, представляющие данные пользователя (например, имя, фамилию, возраст, адрес)
  • Внутри словаря `person` создаются вложенные структуры: второй уровень словарей и списков, содержащие дополнительную информацию (оценки, адреса)
  • Разработана возможность обращения к конкретным элементам словаря через указание ключей и индексов элементов
0: Привет. В ходе этого урока мы с вами научимся работать со словарями в языке питон, а также изучим функции для работы с ними. А перед началом я бы хотел порекомендовать сайт it прогер точка ком. На этом сайте вы найдёте код, домашние задания и много другой полезной информации. Ссылка на этот урок на
1: Сайт будет в описании к этому видео. Ранее при создании словаря или же кортежа мы обращались по индексам к элементам для получения их значений. Также в языке питон существует такой тип, как словарь, и за счёт этого типа мы можем указывать
2: Так называемый ключ или, другими словами, название для определённого значения. И дальше по этому ключу или же, другими словами, названию мы можем обращаться к определённому элементу и вытягивать его, видоизменять, удалять и так далее, чтобы нам создать
3: Словарь мы должны прописать для начала ему какое-либо название давайте у меня этот словарь пускай будет называться как country далее, поскольку я создаю именно словарь, то мне нужно использовать фигурные скобки получается, для списков мы используем квадратные скобки.
4: Для кортежей круглые скобки, но для словарей фигурные скобки. Здесь мы не можем просто так взять и сразу прописать все вот эти вот элементы, потому что к каждому элементу мы должны добавить ещё ключ, ну или название. Ключи могут быть какие
5: Угодно. Причём они могут быть разных типов данных. То есть здесь я могу, например, указать 5, например, и сказать, ну или, вернее, 4, и сказать, что это будет ключ к Такому значению, как 3, например, в таком случае, чтобы мне обратиться к вот этому вот элементу, мне потребуется
6: Прописать здесь кантри и i в квадратных скобках опять же тут всегда используется вот для получения значений, для получения элементов всегда используются квадратные скобки. Так вот, и в квадратных скобках мне нужно будет указать именно число 4 в таком случае я как раз обращусь по клю.
7: И вытяну такое значение, как 3. Вот это мы с вами здесь и замечаем. Помимо того, что здесь можно использовать числа, здесь можно использовать бул, если хотите, в таком случае вот здесь тоже могу прописать бул, ну и если такое запустить, опять же мы получаем нужный для меня элемен.
8: Нужное для меня значение. Здесь же можно использовать строки, а также, что интересно, здесь можно использовать кортежи. Списки здесь использовать нельзя в качестве значения ключа, но кортежи можно. Поэтому здесь я могу, например, прописать кортеж 5 6.
9: Ну, допустим, такой у меня пускай будет кортеж и дальше тут тоже могу этот кортеж прописать и спокойно. Все равно я обращусь к нужному для меня элементу. Таким образом, когда мы создаём с вами словарь, то здесь мы всегда указываем ключ, а также указываем значение. На данный момент у меня создан
10: Словарь, который не имеет никакого смысла. Ну, потому что как-то это просто числа, они, ну, ни о чем нам не говорят. В то же время словари, они очень удобны для, например, описания какого-либо объекта. Вот, предположим, я хочу описать некую страну и
11: Для этого я создаю как раз словарь. Здесь я буду указывать ключи, 1 ключ, он у меня пускай будет идти как код, и здесь в качестве кода я буду указывать. Ну, например, ua или же р. Ю. Ну, любую, любой код страны, например, да, можно юэсэй написать. Юас.
12: Да, дальше мы давайте ещё создадим дополнительный элемент, чтобы создать новые элементы. Также прописываем просто запятую. Опять же, типы ключей здесь могут быть какие угодно. Здесь я могу хоть пятёрку написать, это будет у меня как раз ключ, но просто пятёрка мне ни о чем не скажет, поэтому я лучше
13: Здесь строку все-таки создам, здесь я, например, назову сам этот ключ как name, и здесь я укажу название для страны. Ну, например, russian, да, Россия. Дополнительно здесь могу указать какие-то другие характеристики. Например, здесь я могу указать поплей н, надеюсь,
14: Так пишется. И здесь я уже могу указать как бы численность населения. И, предположим, здесь будет идти численность в сотнях миллионах. Поэтому здесь я просто укажу, например, 144, то есть по типу 144000000 жителей проживает в России.
15: Ну и также здесь можно указать какие-либо другие характеристики по желанию все эти характеристики, они будут обладать как определённым ключом, то есть подписью, так и определённым значением. И далее, когда вот вам потребуется, например, из самого этого словаря вытянуть, ну, допу,
16: Допустим, исключительно название страны, то вам не нужно будет вспоминать индекс нужного вам элемента, а вы просто берете и обращаетесь по нужному вам ключу и прописать название ключа гораздо удобнее и приятнее, нежели прописывать некий
17: Индекс по типу там 5, 4, 3 или что-то в этом духе. Поэтому здесь мы просто обращаемся по индексу, ну вернее по ключу с таким значением, как name. Если я сейчас такое запущу, то вот у меня здесь вводится значение для конкретно этого элемента все обрабатывается абсолютно.
18: Абсолютно корректно. Кроме того, существует ещё альтернативный способ написания словарей. Вот давайте я сейчас, возможно, эту строку закомментирую и просто ещё раз здесь все создам, вот только создам я это все теперь через такую функцию, которая называется как
19: Dict. Дело в том, что словарь с английского, он переводится как dictionary и для создания словаря также можно ещё использовать такое такую функцию, которая называется как dict да, то есть это сокращение от слова дикшинари здесь мы можем указывать следующее. Здесь мы также можем указ.
20: Указывать ключ и значение. Вот только они немного указываются в другом формате. То есть мы прописываем как бы название ключа. Здесь уже, если вот в таком формате мы делаем то название, всегда должны быть определённые строки. И здесь, например, код. И в качестве значения я указываю здесь
21: R u. Например, дальше я хочу указать название здесь опять же прописываю нейм и здесь указываю раша рашен, ну и также самое поплей можно указать, ну и прочие прочие характеристики тоже можно будет здесь указать, если я опять же это все запущу, все обработается корректно.
22: То есть мы также самое здесь создаём ключи и создаём значения и дальше по этим ключам мы можем обращаться, мне вот этот способ не сильно нравится за счёт функции dict, поэтому я лучше буду использовать обычные фигурные скобки, так как здесь в качестве ключа можно тогда использовать не только строки.
23: Ну, можно использовать числа кортежи, там, числа с точкой и так далее. Все это может здесь быть, и все это может здесь корректно работать. Теперь дополнительно мы давайте попробуем с вами изначально вывести полностью весь наш вот этот словарь, чтобы это сделать.
24: Мы можем просто обратиться к кантри, и если такое запустить, то вы замечаете, что все абсолютно корректно обрабатывается. Здесь у нас все это выводится в фигурных скобках. Это говорит о том, что мы именно работаем со словарём также по желанию это все можно перебрать через цикл.
25: И давайте это мы даже с вами сейчас и сделаем. Для начала создаём цикл. Опять же можно создавать цикл while, но все же для перебора вот этих вот всех кортежей, списков, словарей и так дальше намного проще использовать именно цикл for поэтому мы тоже его будем использовать здесь в цикле фор мы
26: Создаём переменную y, говорим что конкретно мы перебираем мы перебираем такой словарь как country здесь же я давайте буду выводить просто на экран вот эту вот нашу переменную элемент и посмотрим что же у нас будет выведено мы можем заметить, что вместо значений у нас вводится
27: Ключи, поэтому даже логичнее было бы эту переменную переименовать и назвать её именно как chi, то есть ключ. И, соответственно, действительно, если мы создаём только здесь 1 переменную, то всегда через цикл форм мы будем получать исключительно ключи. Поэтому вот код
28: Name, а также plane, вот эти вот ключи, они здесь были выведены. Если я хочу получить не только ключи, но также значение, то в таком случае, во первых, здесь мне нужно создать новую переменную, давайте я её назову, например, как велю, да, то есть значение, а также
29: Мне необходимо вот здесь не просто обратиться к кантри, а мне необходимо обратиться к кантри и обратиться к такой функции, как айтемс. Давайте мы, возможно даже прежде чем вывести этот цикл, мы давайте выведем вот эту вот функцию айтемс просто посмотрим, что мы получаем из неё. И мы можем заметить, что мы
30: Получаем с вами список, где каждый элемент это определённый кортеж, что состоит из 2 элементов. Это, во первых, ключ, а также это значение. Ну и вот подобный кортеж мы можем, вернее, подобный список и подобный кортеж. Мы можем как раз и перебирать, что
31: Здесь и будем делать. И тут я, допустим, буду выводить ключ. Также давайте я, возможно, буду просто выводить пробел или давайте лучше дефис будем выводить. И плюс будем выводить ещё и значение. Если мы сейчас такое запустим, то вот мы замечаем, что вводится ключ, а также вводит
32: Значение все обрабатывается теперь корректно. Таким образом, для перебора какого-либо словаря мы можем использовать, ну, например, цикл фор. И здесь, чтобы нам перебрать просто ключи, мы можем указать сам по себе словарь, если нам нужно ещё перебрать значение.
33: То в таком случае создаём 2 переменные и обращаемся к функции айтемс. В таком случае имеем доступ как к ключам, так и к значениям. Теперь давайте рассмотрим функции, что существуют при работе с словарями. Для начала мы давайте просто попробуем с вами вывести какой-либо элемент
34: Мы это уже с вами делали, но все же давайте это просто сделаем ещё раз. Допустим, я хочу вывести элемент по ключу код, поэтому я здесь открываю квадратные скобки и указываю нужный для меня ключ. Если запустить, все обрабатывается корректно. Помимо того, что мы можем использовать квадратные скобки, мы также можем исполь.
35: Использовать такой метод как get он делает точно тоже самое. Здесь мы также должны указать просто определённый ключ. Давайте, возможно, другой ключ укажу. И если такое запустить, то мы опять же получаем значение по определённому ключу. То есть метод get, он аналогичен квадрат.
36: Скобкам и просто позволяет нам получить определённое значение по определённому ключу. Помимо этого существует ещё такой метод, который называется как clear этот метод. Он логично просто очищает полностью весь наш, весь наш
37: Словарь. Если вот сейчас, например, запустить программу, то заметим, что мы получаем полностью пустой словарь, да, то есть клэр, он очищает полностью весь словарь от всех элементов. Если же нужно удалить какой-то 1 определённый элемент, то мы можем использовать функцию поп и
38: Здесь эта функция, она принимает определённый ключ, по которому мы как раз и будем удалять сам по себе элемент. Ну, например, я хочу удалить элемент, у которого ключ будет как name. Если мы сейчас такое запустим, то вот мы замечаем, что у нас есть элемент с ключом. Код также элемент с ключом пополеен. А вот элемен
39: Где у нас был ключ name? Он попросту удалён. Если же нам нужно удалить элемент не по ключу, а просто нам нужно, например, последний элемент удалить, то для этого можно использовать поп айтем. Если такое запустить, то вы можете заметить, что код, а также name они есть. А вот последний элемент
40: Был удалён. Если повторно запустить эту функцию, то ещё и будет name тоже удалён, да, то есть каждый раз поп айтом оно удаляет нам последний элемент. Также здесь есть функции, что позволяет нам получить либо ключи, либо ключи и значения, либо просто
41: Значение, например, если мы хотим получить только ключи, то в таком случае обращаемся к функции кис. Ну и если мы такое запустим, то вот мы получаем список, где у нас каждый элемент это определённый ключ. В нашем случае тут 3 элемента. Если мы хотим получить исключительно значение, то можно
42: Обратиться к Такому, к такой функции, как вельюс. И если такое мы запустим, то опять-таки получаем список, что состоит исключительно из значений. Ну и если мы хотим получить и то и то, то в таком случае мы используем функцию айтемс с ней мы уже с вами
43: Знакомились с ней, мы уже работали. Тогда мы получаем тоже список. Вот только каждый элемент это определённый кортеж, состоящий из 2 элементов. Это ключ плюс значение. И, кстати говоря, для обновления каких-либо значений вы, во первых, можете использовать такой метод.
44: Функцию, которая называется как update или же, что как по мне проще вы можете прописывать здесь квадратные скобки, в них вы можете указывать определённый ключ, ну например ключ код и дальше вы можете указывать здесь новое значение, если мы сейчас такое с вами сохраним.
45: И запустим, то заметим, что видите, вот здесь для код мы поменяли значение здесь теперь установлено как none, то бишь вы можете обновлять значение просто по определённому ключу, либо же через функцию update кроме того, словари они очень удобны для описания какого-либо
46: Определённого объекта. Вот давайте мы, например, здесь укажем, что мы создаём словарь, который будет называться как person здесь. Я открываю фигурные скобки, указываю ключ и в качестве ключа у меня здесь будет написано, например, юзер 1, а дальше я буду здесь указывать значение, причём
47: Поскольку у меня будет много значений, то я предлагаю это все разбить на несколько строчек, дабы это все красиво как-то читалось. И здесь в качестве значения мы с вами не просто укажем, там 4, 5 или что-то в этом духе. Мы здесь с вами укажем ещё 1 определённый словарь, да.
48: Такое спокойно можно делать. То есть вы можете внутрь словаря помещать в качестве значения ещё какой-либо словарь, это будет абсолютно корректно работать. И точно. Также вы, например, внутрь списка можете в качестве значения тоже помещать определённый словарь или даже можете помещать какой-то определённый кортеж. Эт.
49: Тоже будет работать корректно. Просто это мы с вами, ну, пока не рассматривали. Так вот смотрите, здесь я создал как бы, некий, ну, некий элемент, у него ключ идёт как юзер 1, также чуть ниже я смогу в дальнейшем, например, создать там новый элемент, это будет
50: User 2 и тоже, и тоже. Это будет у меня некий словарь, но мне пока 2 элемент не нужен. И вот, например, в этом 1 элементе я хочу указать следующие параметры. Во первых, здесь будет пускай ферст нейм, то есть это как бы имя нашего человека.
51: Пускай здесь будет написано, например, как джон дополнительно здесь ещё будет у нас идти как last name. И здесь у нас пускай будет идти марли. Ну, например, джон марли. Что-то в этом духе. Также возможно, здесь у нас пускай будет ещё его возраст записан.
52: Пускай ему будет, допустим, 45 лет. И здесь же мы можем ещё сохранить его адрес. Адрес мы, конечно же, можем сохранить как обычную строку, а я, например, не хочу как обычную строку сохранять, а хочу сохранить ещё как отдельный список. Опять же, это спокойно. Можно здесь сделать?
53: И здесь мы, например, напишем с вами, что в духе город Москва, например, ну вот такой вот человечек у нас живёт, да, в Москве, джон марли. Дополнительно здесь мы укажем, например, некую улицу, улица какая-то, пускай так будет написано, да, например, ну и
54: И плюс мы ещё здесь можем указать квартиру, пускай будет квартира, допустим, тоже как 45 дополнительно здесь мы ещё можем указать его хобби и, ну или даже давайте не хобби, а мы укажем здесь его оценки. Ну, предположим, что нам такое ещё тоже нужно хранить. И вот
55: В качестве оценок я хочу создать ещё 1 здесь словарь. Опять же, это можно спокойно делать. И здесь мы, например, укажем, например, масс. То есть это будет математика, и здесь укажем ему оценку как 5. Также у него здесь пускай будет physics и вот по физике у него
56: Пускай там будет тройка, ну и так дальше. То есть, в общем то вы здесь можете прописывать любую вложенность. Например, у нас было 1 словарь внутри него я создал ещё 1 словарь, здесь же в качестве значения указывал как просто списки, так и различные, ещё какие-либо определённые слова.
57: Здесь же можно было указать не список, а, например, тот же самый кортеж. Опять же, это все обработается корректно. Ну и вот предположим, я бы хотел сейчас вытянуть, допустим, вот это вот значение. Я бы хотел вывести его просто на экран. Как же это можно сделать? Давайте
58: Мы с вами попробуем как раз реализовать для этого я обращаюсь к нашему персон, да, к нашему вот этому словарю. И здесь я прописываю первые квадратные скобки в них. Я говорю, к какому 1 элементу я обращаюсь? Я обращаюсь к user, к user 1. Дальше.
59: Мне нужно создать ещё одни квадратные скобки, потому что тут у нас идёт ещё 1 словарь и из этого словаря я тоже хочу вынести какой-либо определённый ключ. Ну и, соответственно, я дальше прописываю квадратные скобки и обращаюсь по Такому ключу, как адрес. То есть я уже зашёл сюда, теперь я
60: Зашёл сюда и теперь мне нужно просто отсюда вытащить ещё вот этот вот как бы 2 элемент, но по индексу это 1 элемент поэтому здесь ещё одни дополнительные квадратные скобки и в них указываю 1. Если такое сейчас запустить, то вот у нас все корректно обработалось.
61: Если мы, например, удалим вот этот индекс 1, то в целом у нас будет выводиться полностью весь наш вот этот кортеж, который вот здесь представлен. Если удалить ещё и адрес, то в таком случае у нас будет выводиться полностью весь вот этот вот словарь, да, вот он здесь у меня был выведен как раз то бишь
62: Таким образом, вы можете создавать любую вложенность и можете обращаться к любым элементам, что будут находиться у вас внутри. Вот словаря. Все это будет обрабатываться абсолютно корректно. Ну что же, на этом наш урок подходит к концу. Надеюсь, урок вам понравился. Если так, то не забывайте подписываться на канал, а такж
63: Вступать в наши соцсети. Все ссылки на них будут в описании к этому видео. У меня же на этом все до Скорых встреч.