Full transcript
Начало
0:00привет ходе этого урока мы с вами
0:01научимся работать со словарями в языке
0:03питон
0:03а также изучим функции для работы с ними
0:06а перед началом я бы хотел
0:08порекомендовать сайт
0:09а эти прагер точка ком на этом сайте вы
0:10найдете их под домашнее задание и много
0:12другой полезной информации ссылка на
0:14этот урок на сайте будет в описании к
0:16этому видео ранее при создании словаря
Что такое словарь?
0:18или же кортежа мы обращались по индексам
0:21к элементам для получения их значений
0:24также в языке питон существует такой тип
0:26как словари и за счет этого типа мы
0:29можем указывать так называемый ключ или
0:31другими словами название для
0:33определенного значения и дальше по этому
0:35ключу или же другими словами названию мы
0:38можем обращаться к определенному
0:40элементу и вытягивать его виды изменять
0:42удалять и так далее чтобы нам создать
Создание словаря
0:45словарь
0:46мы должны прописать для начала ему
0:48какое-либо название давайте у меня этот
0:50словарь пускай будет называться как
0:52country далее поскольку я создаю именно
0:54словарь
0:55мне нужно использовать фигурные скобки
0:57получается для списков мы используем
0:59квадратные скобки для кортежей круглые
1:02скобки но для словарей фигурные скобки
1:04здесь мы не можем просто так взять и
1:07сразу прописать все вот эти вот элементы
1:10потому что каждому элементу мы должны
1:12добавить еще ключ ну или название ключи
1:15могут быть какие угодно причем они могут
1:17быть разных типов данных то есть здесь я
1:19могу например указать опять например и
1:22сказать ну или вернее 4 и сказать что
1:24это будет ключ к такому значению как три
1:26например в таком случае чтобы мне
1:28обратиться к вот этому вот элементу мне
1:30потребуется прописать здесь кантри и в и
1:33в квадратных скобках
1:35опять же тут всегда используется вот для
1:36получения значений для получение
1:38алиментов всегда с пульта квадратной
1:40скобки так вот и в квадратных скобках
1:41мне нужно будет указать
1:43именно число 4 в таком случае я как раз
1:45обращусь о ключу и вытяну такое значение
1:48как 3 вот это мы с вами здесь и замечаем
1:51помимо того что здесь можно использовать
1:53числа здесь можно использовать bull если
1:56хотите в таком случае вот здесь тоже
1:57могу прописать bull ну и если такое
2:00запустить опять же мы получаем нужный
2:01для меня элемент нужно для меня значения
2:03здесь же можно использовать строки
2:06а также что интересно здесь можно
2:08использовать кортежи списке здесь
2:10использовать нельзя вклад в качестве
2:12значения ключ
2:13но кортежи можно поэтому здесь могу
2:15например прописать кортеж 56 ну допустим
2:17такой мне пускай будет кортеж и дальше
2:20тут тоже могу этот кортеж прописать и
2:22спокойно все равно я обращусь к нужному
2:24для меня элементов таким образом когда
2:26мы создаем с вами словарь то здесь мы
2:28всегда указываем ключ
2:29а также указываем значение на данный
Описание объекта
2:31момент у меня создан словарь который
2:33имеет никакого смысла потому что как это
2:36просто числа они ну не о чем нам не
2:38говорят в то же время словари они очень
2:41удобны для например описание какого-либо
2:43объекта вот предположим я хочу описать
2:46некую страну и для этого я создаю как
2:49раз словарь здесь я буду указывать ключи
2:521 ключ
2:52он у меня пускай будет идти как кот и
2:54здесь качестве кода я буду указывать ну
2:57например ей
2:58или же любую любой код страны например
3:01на можно написать ее you as a дальше мы
3:04давайте еще создадим дополнительный
3:06элемент чтобы создать новые элементы
3:07также пропишем просто запитаем опять же
3:10типы ключей здесь могут быть какие
3:12угодно здесь могут пятерку написать это
3:14будет меня как раз ключ но просто
3:16пятерка мне ничем не скажет поэтому я
3:18лучше здесь строку все-таки создан здесь
3:20я например назову
3:21сам этот ключ как name и здесь я укажу
3:24название для страны ну например про
3:26шиндо россия
3:27дополнительно здесь могу указать какие
3:29то другие характеристики
3:31например здесь я могу указать ппш
3:33надеюсь это так пишется и здесь я уже
3:35могу указать как бы численность
3:37населения и предположим здесь будет идти
3:39численность в сотнях миллионах поэтому
3:42здесь я просто укажу например 144 тыс по
3:45типу 144 миллиона жителей
3:47проживает в россии ну и так же здесь
3:50можно указать и либо другие
3:51характеристики по желанию все эти
3:53характеристики они будут обладать как
3:55определенным ключом то есть подписью так
3:57и определенным значением и далее когда
4:00вот вам потребуется например из самого
4:02этого словаря вытянуть ну допустим
4:05исключительно название страны то вам не
4:07нужно будет вспоминать индекс нужного
4:09вам элемента а вы просто берете и
4:11обращайтесь по нужному вам включу и
4:14прописать название ключа гораздо удобнее
4:17и приятнее нежели прописывать некий
4:19яндекс по типу там 543 или что то в этом
4:22духе поэтому здесь мы просто обращаемся
4:24по индексу
4:26вернее по ключу с таким значением как
4:28name если я сейчас такой запущу
4:30то вот у меня здесь вводится значение
4:32для конкретно этого элемента все
4:34обрабатывается абсолютно корректно кроме
Альтернативная запись словаря
4:36того существует еще альтернативный
4:38способ написания словарей но давайте
4:40сейчас возможно эту строку
4:42закомментируем и просто еще раз здесь
4:44все создам вот только создам я это все
4:47теперь через какую функцию которая
4:49называется как dict дело в том что
4:51словарь с английского он переводится как
4:54dictionary
4:54и для создания словаря также можно еще
4:57использовать такую такую функцию который
4:59называется как big data есть это
5:00сокращение от слова dictionary
5:02здесь мы можем указывать следующие здесь
5:04мы также можем указывать ключ и значение
5:07вот только не немного указываются в
5:08другом формате ведь мы прописываем как
5:10бы название ключа здесь уже если вот в
5:12таком формате мы делаем название всегда
5:14должны быть определенные строки и здесь
5:17например код и в качестве значения я
5:19указываю здесь
5:20р ю например дальше я хочу указать
5:22название здесь опять же прописываем name
5:25и здесь указываю раша
5:26rasheen ну и так же само по плечу можно
5:29указать и прочие прочие характеристики
5:30тоже можно будет здесь указать если я
5:33опять же это все запущу
5:34все обработается корректно то есть мы
5:37также сама здесь создаем ключей создаем
5:38значение дальше по этим ключам мы можем
5:40обращаться мне вот этот способ не сильно
5:43нравится за счет функции dict поэтому я
5:45лучше буду использовать обычные фигурные
5:47скобки так как здесь в качестве ключа
5:49можно тогда использовать не только
5:50строки но можно использовать числа
5:53кортежи там числа с точкой и так далее
5:56все это может здесь быть и все это может
5:58здесь корректно работать теперь
6:01дополнительном и давайте попробуем с
6:02вами изначально вывести полностью весь
6:04наш вот этот словарь чтобы это сделать
6:06мы можем просто обратиться к контрим
6:08если такое запустить то вы замечаете что
6:10все абсолютно корректно обрабатывается
6:12здесь у нас все это выводится в фигурных
6:15скобках это говорит о том что мы именно
6:16работаем со словарем также по желанию
6:19это все можно перебрать через цикл и
Вывод элементов через цикл
6:22давайте это мы даже с вами сейчас и
6:23сделаем для начала создаем цикл опять же
6:26можно создавать цикл while но все же для
6:28перебора вот этих вот всех картриджей
6:30списков словарей так дальше все намного
6:32проще использовать именно цикл пор этому
6:34им тоже и мы будем использовать здесь
6:36цикле for мы создаем переменным и
6:38говорим что конкретно мы перебираем мы
6:40перебираем такой словарь как country
6:42здесь же я давайте буду выводить просто
6:44на экран вот эту нашу переменную м н и
6:46посмотрим что же у нас будет выведено мы
6:48можем заметить что вместо значений у нас
6:52вводятся ключи поэтому даже логичнее
6:54было бы эту переменную
6:55переименовать и назвать ее именно как
6:57тип то есть ключ и соответственно
7:00действительно если мы создаем только
7:02здесь одну переменную то всегда через
7:04цикл пор мы будем получать исключительно
7:06ключи поэтому вот code name а также по
7:08классике вот ключи они здесь были
7:10выведены
7:11если я хочу получить не только ключи но
7:14также значением то в таком случае во
7:16первых здесь не нужно создать новую
7:18переменную
7:18давайте и назову например как well you
7:20do то есть значения а также мне
7:23необходимо вот здесь не просто
7:24обратиться к & country
7:25а мне необходимо обратиться к и кантри и
7:27обратиться к и такой функции как айтюнс
7:29давайте мы возможно даже прежде чем
7:31вывести этот цикл давайте выведем
7:33вот это вот функцию anthems просто
7:35посмотрим что мы получаем из нее и мы
7:37можем заметить что мы получаем с вами
7:38список где каждый элемент это
7:41определенный кортеж что состоит из двух
7:43элементов это во-первых ключ а также это
7:46значение ну и вот подобный кортеж мы
7:49можем время подобный список и подобный
7:51кортеж мы можем как раз и перебирать что
7:53мы здесь и будем делать и вот я допустим
7:55буду выводить ключ также 2 тем возможно
7:58буду просто выводить пробел или давайте
8:00лучше дефис будем выводить и плюс будем
8:02выводить еще и значение если мы сейчас
8:05такое запустим то вот мы замечаем что
8:06вводится ключ а также водится значение
8:09все обрабатывается теперь корректным
8:11таким образом для перебора какого-либо
8:14словаря
8:14мы можем использовать ну например цикл
8:16for и здесь чтобы нам перебрать просто
8:19ключи мы можем указать
8:21сам по себе словарь если нам нужно еще
8:22перебрать значением на таком случае с с
8:24д м две переменные и обращаемся к
8:26функции anthems в таком случае имеем
8:29доступ к ключам таким значением теперь
Функции по работе со словарем
8:31давайте рассмотрим функции что
8:33существует при работе со словарями для
8:36начала мы давайте просто попробуем с
8:37вами вывести какой либо элемент мы это
8:39уже с вами делали но все же давайте это
8:41просто сделаем еще допустим я хочу
8:43вывести элемент по ключу код поэтому я
8:45здесь открываю квадратные скобки и
8:46указываю 0
8:47для меня ключ если запустить все
8:49обрабатывается корректно помимо того что
8:51мы можем использовать квадратные скобки
8:53мы также можем использовать такой метод
8:55как дед он делает точно то же самое
8:57здесь мы также должны указать просто
8:59определенный ключ на давайте возможно
9:01другой ключ укажу и если такой запустить
9:04то мы опять же получаем значение по
9:05определенному ключу то есть метод get он
9:08аналогичен квадратным скобкам и просто
9:10позволяет нам получить определенное
9:12значение по определенному ключу помимо
9:15этого существует еще такой метод который
9:18называется как clear
9:19этот метод он логично просто очищает
9:22полностью весь наш весь наш словарь если
9:25вот сейчас например запустить программу
9:27то заметим что мы получаем полностью
9:29пустой словарь
9:30клэр он очищает полностью весь словарь
9:33от всех элементов если же нужно удалить
9:35какой-то один определенный элемент мы
9:37можем использовать функцию поп и здесь
9:40это функция она принимает определенный
9:42ключ по которому мы как раз и будем
9:43удалять сам по себе элемент
9:45ну например я хочу удалить элемент этого
9:47ключ будет как ней если мы сейчас такое
9:49запустим то вот мы замечаем что у нас
9:51есть элемент с ключом код также элемент
9:53с ключом популярен а вот элемент где у
9:56нас был ключ ним он попросту удален если
9:59же нам нужно удалить элемент не по ключу
10:01а просто нам нужно например последний
10:02элемент удалить для этого можно
10:04использовать
10:05об этом если такое запустить то вы
10:07можете заметить что код а также name они
10:09есть а вот последний элемент был удален
10:11если повторно запустить эту функцию то
10:13еще и будет name тоже удаленно то есть
10:15каждый раз об этом anal on она удаляет
10:18нам последний элемент также здесь есть
10:20функции что позволяет нам получить либо
10:23ключи либо ключи и значения либо просто
10:26значения например если мы хотим получить
10:27только ключи в таком случае обращаемся к
10:30и функции keys ну если мы такое запустим
10:32то вот мы получаем список где у нас
10:34каждый элемент это определенный ключ в
10:36нашем случае тут 3 елемента
10:38если мы хотим получить исключительно
10:40значение то можно обратиться к такому
10:42такой функции как плюс и если такое мы
10:44запустим то опять-таки получаем список
10:46что состоит исключительно из значений ну
10:50если мы хотим получить это и том что в
10:52таком случае мы используем функцию
10:54anthems с ней мы уже с вами знакомились
10:56с ним и уже работали тогда мы получаем
10:59это же список вот только каждый
11:01это определенный кортеж состоящий из
11:03двух элементов этот ключ + значение и
11:05кстати говоря для обновления каких-либо
11:08значений вы во-первых можете
11:10использовать такой метод такую функцию
11:12который называется как апдейт или же что
11:14как по мне проще вы можете прописывать
11:16здесь квадратные скобки в них вы можете
11:18указывать определенный ключ ну например
11:20ключ код и дальше вы можете указывать
11:23здесь новое значение
11:24если мы сейчас такой с вами сохраним и
11:27запустим но заметим что видите вот здесь
11:29для код мы поменяли значение здесь
11:31теперь установлена как на вы можете
11:34обновлять значения просто по
11:35определенному ключу либо же через
11:37функцию апдейт кроме того словари они
Описание человека
11:39очень удобные для описания какого-либо
11:42определенного объекта по давайте мы
11:44например здесь
11:45укажем что мы ssd словарь который будет
11:47называться как person здесь я открываю
11:49фигурные скобки указывают ключ и в
11:51качестве ключа у меня здесь будет
11:53написано пример user1 а дальше я буду
11:55здесь указывать значение
11:57причем поскольку мне будет много
11:58значений это я предлагаю это все разбить
12:00на несколько строчек
12:01дабы это все красиво как-то читалось и
12:03здесь в качестве значения мы с вами не
12:06просто укажем там 45 или что то в этом
12:08духе мы здесь вами укажем еще один
12:11определенной словарь да такое спокойно
12:13можно делать то есть вы можете внутрь
12:15словаря помещать в качестве значения еще
12:17какой-либо словарь это будет абсолютно
12:19корректно работать и точно так же вы
12:21например внутрь списком можете в
12:23качестве значения тоже помещать
12:24определенный словарь или даже можете
12:26помещать какой-то определенный кортеж
12:27это тоже будет работать корректно просто
12:30этому с вами ну пока не рассматривали
12:32так вот смотрите здесь я создал как бы
12:34некий ну не некий элемент у него ключи j
12:38как user1 также чуть ниже я смогу в
12:41дальнейшем например создать новый
12:42элемент это будет юзер 2
12:44это же это же это будет меня некий
12:46словарь но мне пока второй элемент и
12:48нужен и вот например в этом первом
12:51элементе я хочу указать следующие
12:53параметры во первых здесь будет пускай
12:55first name то есть это как бы имя нашего
12:58человека пускай здесь будет написано
12:59например как джон дополнительно здесь
13:02еще будет у нас идти как last name и
13:05здесь у нас пускай будет дикие marlin
13:07например джон марли что то в этом духе а
13:10также возможно здесь у нас пускай будет
13:12еще его возраст записан в
13:14им будет допустим 45 лет и здесь же мы
13:17можем еще сохранить его адрес адрес мы
13:20конечно же можем сохранить как обычную
13:22строку
13:22а я например не хочу как обычную строку
13:24сохранить я хочу сохранить еще как
13:25отдельный список
13:26опять же это спокойно можно здесь
13:28сделать и здесь мы например напишем с
13:30вами что в других город москва
13:32например ну такой человечек нас живет до
13:35в москве джон марли дополнительно здесь
13:37мы укажем например некую улицу улица
13:41какая то пускай так будет написано да
13:43например ну и плюс мы еще здесь можем
13:45указать квартиры пускай будет квартиры
13:47допустим тоже как 45 дополнительно здесь
13:50мы еще можем указать его хобби и
13:53или даже давайте не хобби а мы укажем
13:56здесь его оценке ну предположим что нам
13:58такое еще тоже нужно хранить и вот в
14:00качестве оценок я хочу создать еще один
14:02здесь словарь опять же это можно
14:04спокойно делать и здесь мы например
14:06укажем например маз
14:08то есть это будет математика и здесь
14:10укажем ему оценку как 5 также у него
14:12здесь пускай будет physics и вот по
14:14физике у него пускай там будет тройка ну
14:16и так дальше в общем то вы здесь можете
14:18им прописывать любую вложенность
14:20например у нас было 1 словарь
14:22внутреннего я создал еще один словарь
14:23здесь же качестве значения указывал как
14:27просто списке такие различные еще
14:29какие-либо определенные словари
14:31здесь же можно было указать не список а
14:32например тот же самый кортеж опять же
14:34это все обработается корректным ну и вот
14:37предположим я бы хотел сейчас вытянуть
14:39допустим вот это вот значение я бы хотел
14:42вывести его просто на экран также это
14:44можно сделать давайте это мы с вами
14:46попробуем карате реализовать для этого я
14:48обращаюсь к нашему person так нашему
14:50мудрому словарю
14:51и здесь я пропишу первые квадратные
14:54скобки в них я говорю какому первому
14:56элементу я обращаюсь я обращаюсь к user
14:58ой user1 дальше мне нужно создать еще
15:02одни квадратные скобки потому что тут у
15:04нас идет еще один словарь и из этого
15:06словаря я тоже хочу вынести какой-либо
15:08определенный ключ ну и соответственно я
15:10дальше прописываю квадратные скобки и
15:12обращаясь по такому ключу как адрес то
15:14есть я уже зашел сюда теперь я зашел
15:16сюда и теперь мне нужно просто отсюда
15:18вытащить еще
15:20как бы второй элемент но по индексу это
15:22первый элемент поэтому здесь еще одни
15:24дополнительные квадратные скобки и в них
15:26указываю один если такое сейчас
15:28запустить то вот у нас все корректно
15:30обработалось если бы например
15:32удалим вот этот индекс 1 то в целом у
15:34нас будет выводиться полностью весь наш
15:36вот этот кортеж который вот здесь
15:37представлен если удалить еще и андрис то
15:41в таком случае у нас будет выводиться
15:42полностью весь вот этот вот
15:43слабой да вот он здесь у меня был
15:45выведен как раз то бишь таким образом вы
15:47можете создавать любую вложенность и
15:49можете обращаться к любым элементом что
15:51будет находиться у вас внутри вот
15:53словаря все это будет обрабатываться
15:54абсолютно корректно ну что ж на этом наш
Заключительная часть
15:57урок подходит концу надеюсь урок вам
15:58понравился если так то не забывайте
16:00подписываться на канал а так же вступать
16:02наши соцсети все ссылки на них будут в
16:04описании к этому видео у меня ж на этом
16:06все до скорых встреч пока