Уроки Python с нуля / #10 - Словари (dict) и работа с ними
HTML-код
- Опубликовано: 28 май 2024
- Для хранения пар (ключ-значение) в Питон используются словари. В ходе видео мы научимся создавать, а также использовать словари. Дополнительно мы изучим функции по работе со словарями в Python.
✅ Полезные ссылки:
- Урок на сайте itProger: itproger.com/course/python/10
⏰ Тайм коды:
00:00 - Начало
00:17 - Что такое словарь?
00:45 - Создание словаря
02:31 - Описание объекта
04:35 - Альтернативная запись словаря
06:20 - Вывод элементов через цикл
08:31 - Функции по работе со словарем
11:38 - Описание человека
15:55 - Заключительная часть
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Инстаграм itProger: / itproger_official
Группа FaceBook - goo.gl/XW0aaP
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #itProger 👨🏼💻
- Все уроки по хештегу #itprogerLessons
Огромное спасибо ! На курсах в одной ооочень известной онлайн школе так понятно не объясняют(( А у вас такие знания , да еще и в открытом доступе! Спасибо за эту возможность учиться!
Там ВООБЩЕ не понятно объясняют ! Я думаю я понял о какой шарашкиной конторе вы говорите .
умскул?)
@@dantches6320 SkillFactory?
@Hot Yeah Да ну нафиг? Серьезно? Оказывается не они тупые , что на изучение целого ЯП дают месяц , а я просто гуглить не умею .
@Hot Yeah БАЗУ ЗА МЕСЯЦ 🤣🤣
Огромное спасибо за возможность учится у вас✋😉
Словари мне очень понравились они простые, понятные, эффективные. Больше всего у меня проблем с пониманием циклов было, но смотря ваши ролики, более менее разобрался, большое спасибо
@@ernijk6622 a y tebya?
@@ernijk6622 как успехи с фейситом? ой, всё ещё 1 лвл((((( жоский клатч на канале у тебя бро, больше не заливай, стыдно не будет
@@hellmir5737 a ok,ya v cs uzhe osobo ne igrayu
Цикл while мне был понятен на все сто, а вот for... С ним до сих пор проблемы.
@@rottenmeat3485 во, во. Особенно при создании цикла появляется какая-то переменная, которая отвечает не пойми за что. То-ли за символ то-ли за целое значение😢
0:17 не "словаря", а "списка" )
Уроки огонь! Смотрю запоем. Спасибо )
Замечательный урок. Все просто, быстро, без воды. С нетерпением приступаю к следующему занятию. Спасибо вам большое за возможность учиться у вас! 🥰
Замечательные уроки. Именно вы смогли мне объяснить множество тем, которые я не мог понять. Огромное спасибо за бесплатные курсы. Желаю вам успеха в дальнейшем!
Георгий, огромное спасибо за уроки! Это настоящий клад для новичка. Все доступно и понятно!
Какой же отличный урок! Благодарю!)
Благодарю за отличный урок. Некоторые моменты были не совсем ясны в начале, но под конец всё стало понятно.
Паша техник будет вам преподавать если поставить на этом видео скорость воспроизведения 0,5.
Курс хороший, спасибо автору!
аххахахах и правда
*Тем временем John Marley, которому 45лет, который живет в Москве на улице какая-то в квартире 45*
-Не понял
Зато у него пятерка по математике
Браво! Шикарная подача материала!
Как всегда отличный урок.
Спасибо большое 🎉
Не плохо бы было, если бы делал на реальных примерах, что б было понятно что это будешь применять
Согласен
в конце был что то вроде примера, создание личной информации о пользователе в виде словаря, а там уже дописывать кучу функций для полной работы
Автор разжевал - больше некуда! Куда еще понятнее???
@@Alfredodemo подхалимнечество , автор мог бы показать на примере создав какую либо маленькую программу и сказать в какой разработке это пригодится
@@yomo04 так а вариантов то - миллиарды! смотря что нужно вам. Data Science - там точно пригодится!;)
Вот это скорость печати! Хочу научиться также.
спасибо за понятное объяснение
Спасибо смотрю все твои уроки ❤
Cпасибо очень полезное видео!
Спасибо огромное !Только сейчас разобрался!
Спасибо за уроки!
Спасибо за урок!
Много чего не досказано , но это уже не важно . Главное понять суть, а остальное само пойдет . Отличные видео .
Все чему научился , различать кортеж, список и словарь , и научился работе с циклом for
С каждым видео всё интереснее и интереснее
Спасибо, хорошо обьясняете!
Отлично!
Спасибо большое ❤
замечательный урок!
Получается, словарь - это список, где каждый индекс позиции имеет свое имя
очень интересный урок, спасибо
В конце с персоной отличный пример!
Ты лучший учитель в мире!
Благодарю за объяснения, с каждым днем становишься мудрее. Планирую работать в аналитике, изучал Python по разным видео, но твой подход мне по душе, все лаконично и ясно
Думаю, к концу курса, будет представление в целом о Python и смогу уже изучать нужные библиотеки для аналитики, такие , как: Pandas, NumPy, Matplotlib
ну как там
@@getmepillz привет. Уже полгода миновало, словно весенний дождь прошел, так быстро.
Смотри, я начал конкретно изучать аналитику с Июля 2022, прошел почти год, чего я достиг:
* Изучил Power BI, Oracle SQL Developer, Python (Numpy, Pandas, Matplotlib, Seaborn), некоторые фишки в Excel подтянул (т.к. перешел на английскую версию, нужно переучиваться, в процессе);
* Нахожусь в поиске работы уже полгода, после 5 месяцев осознал, что ситуация тщетна для тех, кто работает из-за границы, поэтому, сделал вывод и направил курс корабля на Германию, изучаю язык почти 2 месяца (на уровне А1 сейчас, думаю), Английский - В2;
* Сделал свой проект на Немецком и Английском, добавив в CV, которое оформил 4 месяца назад (ранее был без него);
* Зарегистрировался в Linkedin и развиваю свой профиль, расширяя сеть контактов, в частности, людьми из-за границы (не только Европа, но и Азия, Америка).
План на ближайшие 6 месяцев - штурмовать Немецкий, продолжать изучать Английский и ждать оффера. Без Немецкого туго, т.к. Аналитикам нужно ещё объяснять свои выводы.
UPD: курсы не посещал, ищу нужную инфорамацию сам.
@@and.astafe vielen Dank!
@@CalmasastoneКруто, надеюсь, что у тебя все получилось. Сам я только начал учить, хочу изучить сперва питон, а затем и С++. Поскольку он тяжелее, решил перед ним выучить язык полегче. Вообще, в мечтах создать свою мини команду и делать игры, ну а потом уже расширяться. Ну а как выйдет - посмотрим
@@RONPLAY I wish you good luck mate.
I was looking for a job in Germany and came to conclusion that the best way to get into Germany as a foreigner from non-EU country is to get an Ausbildung. So I'm working on enhancing my German language skills since I need at least B1 and then will be able to apply for this specific thing as an analyst.
p.s Sorry, I don't have Russian keyboard here, because I'm learning English and German, so, I got rid of Russian language :)
Учусь по тактике учебник + эти видео, очень помогают ваши уроки, спасибо
ты когда основы выучишь проверь себя напиши консольный калькулятор если напишешь значит знаешь базу а затем начинай делать любой средний проэкт на пайтон постепенно изучая то что тебе надо также советую пользоватся дорожными картами чтобы не потерятся)
@@user-fb1dv7pn7jдорожные карты?
Круто! Спасибо!
Огонь уроки!!!!
лучший братик, надеюсь в будущем на одной работе будешь корректировать мои работы
спасибо за урок
Спасибо за все
огонь ОГОНЬ КРАСАВА
привет ! давно твои роилики смотрю и я смотрел очень много видео про слвари и не понял не один из них ! на этом видео всё чётко и ясно обяснено спасибо огромное ! !!
Отлично!
Уже на 10 урок, думаю через неделю закончу курс
Велике дякую вам. Дуже прикро, що ваші відео набирають так мало вподобань :(
Спасибо)
Вы очень хорошо объясняете, у вас талант
Cпасибо за урок! А вы могли бы уточнить, когда используется функция update(), что пишется в скобках? Второй способ присваивать новое значение вы показали, а как использовать эту функцию не услышала. Благодарю за помощь!
Это нужно для того что бы добавлять новый элемент
Не знаю, нужно ещё или нет, но всё же. dict.update({ключ:значение}). С помощью этой функции можно также добавить новый элемент
спасибо
Спасибо за урок!
Вопрос: функция .items работает только с двумя элементами словаря (ключ и значение) и автоматически, так сказать, раскидывает эти данные последовательно по двум переменным, указанным в цикле for?
в цикле указан 1 кортеж из двух значений(просто без скобок), а не 2 переменные.
не понятно как заполнить словарь например с помощью цыкла? и можно ли по одному элементу заполнять или надо все сразу
спасибо за контент! а как вставить в person данные из консоли и заполнить user_3?
You want to that with input() module???
Про .update() не сказали как обновить значение ключа, попробовал аналогично квадратным скобкам написать и ошибка, как-то по-другому с апдейт нужно
Нашёл, нужно так (например) country.update({'population': 441})
Минутка душноты, открывайте форточки:
.update так и не пояснена, только сказано: "... или же вы, что как по мне проще, можете использовать..." бла-бла-бла.
НОООО, как же всё таки работает .update?
А вот как:
x = {1: 22, 2: 33, 3: 44}
x.update({1: 23})
print(x)
{1: 23, 2: 33, 3: 44}
Я же это ещё и конспектирую, чтобы лучше запомнить, так что мне было важно ПОНЯТЬ как работает, пусть даже очевидно более душная, запись.
Но в целом спасибо автору за понятный и бесплатный материал.
Ахаха, я тоже конспектирую и искал что это такое в инете, жалко, что не наткнулся на твой коммент, но ладно. Это многие тут спрашивают, но всё же, как ты там? Уже год прошёл, насколько можешь оценить свои знания в языке? Сильно этот курс помог? Можешь дать какие - нибудь советы, например где искать инфу или что читать? Если не сложно, то ответь пожалуйста, будет интересно прслушать
@@RONPLAY ну я изначально имел цель - сделать бота для дискорд сервера, так что я как этого достиг кончил слушать курс. Но в целом как база этот курс неплох. А вот найти инфу на то как делать бота с не очень стандартными желаниями (мне нужен был дайс, который можно сделать с любым количеством граней) не просто, в итоге пришлось часть инфы на ответах мыла спрашивать.
Я всё искал в интернете, главное понимать то что ты хочешь и пытаться гуглить вопрос по разному.
Так что я скорее "любитель" чем жаждущий программировать на "питоне". Ну и брату домашку сделать помог (-Х
@@zhenya919D неплохо, спасибо, что ответил. Ну я собираюсь после пайтона С++ учить. Думаю, из первых проектов, сделаю бота в телеграмме. Я как-то делал, но не писал его, а делал бота через другого бота (звучит немного абсурдно, но так и есть). А потом уже хочу стать хорошим программистом, команду собрать и начать делать игры, может потом ещё и бизнес замутить. Вообщем, планы большие, изучать начал недавно. Одноклассник помог установить и настроить все нужные проги (инструктировал по звонку). Дальше, после курса, хочу ещё роликов посмотреть, а потом уже начать книги читать по программированию. Ну ладно, было интересно тебя услышать, удачи и пока!
А можно как-то сделать, чтобы print(person['user_1']) выводил только ключи или только значения?
выбери key или value
почему у меня команда принт выводит абсолютно все знаки пунктуации?
мне напросилось
for key in country:
print(key, '-', country[key])
это менее корректно?
А чем ключ от переменной отличается?
Почему у меня не работает функция popitem? И чем она отличается от функции pop?
Я не всегда все понимаю , но продолжаю учиться
привет, скажи как твоя учеба? получилось ли и нашел ли работу в этой сфере?
@@user-eo9kz8ru9d видимо нет
бедняга John Marley, в 45 лет на какой-то улице в Москве с тройкой по физике🥺🥺
Словари похожи на хранение данных в формате json!
То есть так работает система поиска?
Так вот как этот лагучей эл. дневник написан!
Георгий, прошу активировать уроки к роликам. сейчас они не работают(
а как сделать так, чтобы first_name и last_name выводились в одну строчку?
print(x, end="")
first_name = 'fn'
last_name = 'ln'
print(first_name, last_name)
print(per['user_1']['first_name'], end = ' ')
print(per['user_1']['last_name'])
Я буду тут каждый день. День 7
Напиши телегу, будем вместе учится
@@user-xo8wq5gn1oучишься?
а как добавить к словарю еще один ключ и значение не затрагивая его целостность?
пишешь имя словаря, квадратные скобки, пишешь ключ, знак равно, и в конце значение ключа
Я почувствовал себя хакером ☺️
Ты бы объяснил, что там означает dict_items(...)
Интересно, с какого уровня вложенности у опытного разраба начинает течь крыша?
думаю что с 5
и как выводить отсюда 'grades': {'math': 5, 'physics': 3},
пишу так print(person['user_1']['grades'][2])
выдает ошибку
print(person['user_1']['grades'][2])
KeyError: 2
Все значения в списках начинаются с 0
То есть у Вас только 2 значения и индексы для них - msth - 0, phisics - 1, но Вы написали индекс 2, который подходил бы к третьему элементу, но элементов всего 2, вот он и выдаёт ошибку, к тому же значение 'grades' является переменной к словарю, где не используются индексы.
код должен выглядеть так:
person = {
'user_1' : {
'grades': ('math : 5', 'physics: 3')
}
}
print(person['user_1']['grades'][1])
А сама ошибка KeyError возникает, когда пользователь обращается к чему-то, чего не существует
user_1 где у тебя этот элемент?
хоть бы мыслили перед тем как что то свое писать. логично что у тебя не этого элемента ничего не произойдет
@@user-xd4bh6ty7wа я не пойму, почему вы пишете индекс, если это словарь и тут нужно писать ключ?
Жаль что Питон не выводит словарь в консоль структурированно, как это делает js с объектами через console.log. Консоль не читаема
а можно еще проще
country = {
'code': 'RU',
'name': 'Russia',
'Population': 144000
}
for key in country:
print(f'{key} - {country[key]}')
получается с помощью словаря можно делать пароли,хм интересно
Я до этого видео вместо словарей использовал условия
А свловаре даже национальнысть можна написвть да
Словарь это просто хранилище данных, туда можно поместить абсолютно все что угодно.
3:44 правильное имя страны будет "Russia"
*Все вообщем нормально, только похоже есть неточности - то что вызывается после точки ( например list.clean () , т.е. clean - это метод класса списков ) называется методом, а не функцией. Эта неточность в будущем может мешать пониманию материала читаемого в литературе или из др. источников или же при общении с другими программистами.*
👍👍👍👍👍👍
Это же практически json
Когда он сказал "Ну 144 144 миллиона" мне послышалось как будто это Путин говорит
видео топ, но как человек которому 45 лет получает оценки в школе?
😂😂
14:00 чел просто спалил какого-то бедного чела
Помогите, почему при выводе 2 элементов ошибка?
person = {
'user_1': {
'First name': 'John',
'Last name': 'Silverhand',
'Age': 50,
'Address': ('Night city', 'Krasnaya', '93'),
'Grades': {'math': 5, 'Phys': 3}
},
}
print(person['user_1']['First name']['Last name'])
Вот сама ошибка print(person['user_1']['First name']['Last name'])
TypeError: string indices must be integers
P.S. получилось записать только отдельным принтованием. По другому никак?
print(person['user_1']['First name'], end=' ')
print(person['user_1']['Last name'])
внимательно смотри
@@RelaxVideosofnature print(person['user_1']['First name'], person['user_1']['Last name'], end=' ')
И нет того, что мне было нужно, а именно пример с обходом вложенного словаря. В уроке показали обход кортежа внутри словаря, но не словаря внутри словаря - "grades"
Честно говоря слабоватый урок для словарей, словари это довольно объемная и очень важная тема. Про функцию get не было сказано для чего она вообще нужна, так вот она нужна, для того чтобы когда не было ключа которое указано в скобочках не выдавало ошибку, для этого надо после ключа добавить {}.
Russian - русский
Russia - Россия
)
не так:
Russian - орк
Russia - оркостан
@@termit724 как там бахмут?
Немного глупо записывать в "объект" другие "объекты". Лучше бы было в список записывать "объекты"
функция дик)0
ичо
Имя страны - Русский, класс
10:16 поп айтэм анал)))
мотрешка
authors_phrases = {"КЫ кантри", "СЫ ключами", "ВЫ коде", "СЫ Словарями"}
Just = {'Number': 1}
Just_n = {input()}
Just.update(Just_n)
print(Just)
Выдаёт ошибку:
Traceback (most recent call last):
С:/(Я не очень люблю когда узнают личную информацию)/в.py, line 5, in
rainbow.update(new_key_values_dict)
ValueError: dictionary update sequence element #0 has length 4; 2 is required
Объясните пж почему не работает
Just = {'Number': 1}
Just_n = {input()}
Just.update(Just_n) => Just['Number'] = Just_n
print(Just)
Ты не указал ключ которому даешь значение пользователя значение
Путь к файлу конечно капец какая личная информация
Смысл этих уроков если вообще не понятно для чего мне это знать ?…
person = {
'user1': {'first_name': 'John', 'First_name': 'Marley','age': '45', 'adress': ('г. Москва', 'дом Колотушкина')}
print(person ['user1']['adress'])
чот не пашет..
Чё то у тебя 2 first_name .. и забыл добавить улицу Пушкина)
Одна фигурная скобка не закрыта и пробелы перед принтом есть
person = {
'user1': {'first_name': 'John', 'First_name': 'Marley', 'age': '45', 'adress': ('г. Москва', 'дом Колотушкина')}}
print(person['user1']['adress'])
Стараторил всё в одну кучу, них*я не понятно, каша сплошная...
Так ты после каждого видео пробуй использовать те знания которые он тебе дал, а не смотри следующий ролик. Так легче все запоминается.
Надо не просто видосик смотреть, а практиковать полученные из видео знания, конспектировать
Сделал вот такую вот программку на основе словарей, для интереса, лучше не смотреть в код сначала, а самому узнать все данные через строку, ну тут уже как вы захотите. Вот код:
person = {
"person1": {"name": "Павлик", "surname": "Морозов", "age": 16, "job": "student"},
"person2": {"name": "Мориарти(fake)", "surname": "Неизвестна", "age": "?",
"job": "drug lord(MEGA)"}
}
print(person.keys())
pers = input("Выбери личность: ")
print(person[pers].keys())
inf = input("Что хочешь узнать?: ")
print(person[pers][inf])
Кто знает почему всегда snumber 0 если в if изменяется на другое?
import random
import os
attempt = 0
snumber = 0
print("Выберите уровень сложности")
print("1. Легкий - Неограниченое число попыток от 0 до 100")
print("2. Нормальный - 15 Попыток от 0 до 250")
print("3. Сложный - 20 Попыток от 0 до 500")
dif = input()
if dif == 1:
snumber = random.randrange(101)
if dif == 2:
snumber = random.randrange(251)
if dif == 3:
snumber = random.randrange(501)
os.system("cls")
while True:
print(snumber)
print("================")
print("| Угадай число |")
print("================")
print("Попытки:",attempt)
print("================")
number = int(input())
os.system("cls")
if number == snumber:
print("===========================")
print("| Поздравляем ты победил! |")
print("===========================")
break
if number < snumber:
print("Больше!")
attempt = attempt + 1
if number > snumber:
print("Меньше!")
attempt = attempt + 1
input()
Раша без н в конце пишется
Спасибо за урок!!!