32 Словари (dict) Python. Операции и методы словаря.
ฝัง
- เผยแพร่เมื่อ 6 พ.ย. 2018
- 🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
stepik.org/course/63085/promo
👉👉👉 Свой вопрос по курсу можешь задать в чате
t.me/+SlnNhAO7caBlNDM6
👉👉👉 Также подписывайся на мой телеграмм-канал
t.me/python_egoroff
egoroffartem.pythonanywhere.co...
Словарь (dict) - неупорядоченная коллекция произвольных объектов с доступом по ключу. Словарь более известен как ассоциативный массив. Словарь состоит из набора пар "Ключ-Значение". И в отличии от списка, где к каждому элементу можно обратиться по его порядковому номеру(индексу), в словаре обращение к элементу происходит по ключу.
Создание словаря
Доступ по ключу
Добавление новой пары ключ-значение
Обход элементов словаря в цикле for
Удаление ключа
Методы словаря:
dict.clear()
dict.get(key, [value])
dict.setdefault(key, [value])
dict.pop(key)
dict.poitem()
dict.keys()
dict.values()
dict.items()
egoroffartem.pythonanywhere.co...
На сайте будет выкладываться более подробная информация о данном курсе и будущих видео.
Все видео этого курса можете найти на сайте
egoroffartem.pythonanywhere.co...
или в Вк
videos-177962775?secti...
Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
artem_egoroff
python.study
В данном группе можете найти информацию о новых видео и задать вопросы
🫵 Теория без практики - ничто, поэтому 👇
🐍 stepik.org/course/63085/promo
👉 специально для тебя создал бесплатный топовый курс по Python
👉 В нем тебя ждет:
📗 более 400 практических заданий на программирование
📗 более 250 тестовых заданий на проверку материала
📗 десятки часов видеоматерилов по теории
📗 видеоразборы решения заданий
📗 текстовые материалы по урокам, примеры кода
📗 доступ к закрытому чату с дружественной обстановкой
📗 сертификат в случае успешного прохождения курса
тот случай, когда простой парень на ютубе объясняет материал круче, чем платные курсы. Уважение и поклон автору, очень достойно и информативно
Так у него итак половина роликов платные, но объясняет действительно достойно, для платного курса
@@afasfasdasdasdasdasdasdasd1741 Не половина близко, но за платные не жаль отдать денежку
Не такой уж и простой))
Со скиллбокса пришёл сюда смотреть инфу и все понял))
Кстати у него тоже не всё бесплатно
Не ленюсь поставить лайк даже с телевизора! Спс, автор
Это круто!)
Спасибо за видео. Ни в одной книжке, ни в одном видео, ни в одном онлайн курсе ТАК ХОРОШО не объясняет никто! То бубнёжка, то рванное повествование, то половина вообще не проговаривается, то куча допущений и умолчаний. Каждого такого "гуру" хочется ткнуть в это видео. Систематично, с вариантами, обо всём лаконично! Блеск!
Бубнежка случайно не со Stepic?))))
@@original163 неееее вот Тимофей Хирьянов вот ето вода что мыться можно
@@tedi145 ты чего, чел? Хирьянов топ, ходи оглядывайся)
Как же вы помогаете! Спасибо вам от всей души. Понятно объясняете
Артем, большое спасибо за этот курс по Питону! Ваши материалы очень помогают в изучении языка.
и вам спасибо за благодарность)
Метод popitem() удаляет из словаря последний добавленный элемент и возвращает удаляемый элемент в виде кортежа (ключ, значение). В версиях Python ниже 3.6 метод popitem() удалял случайный элемент.
Очень хорошо объясняете, всё понятно. Спасибо за ваш труд! Продолжайте в том же духе!
Уважаемый Егор, пишу Вам из Азербайджана, хожу на курсы програмирования, так же смотрю в добавок ваши видео, и скажу често закрепляется прям изумительно, и так четко все по полочкам расскладываете, без остановок и без передышек, и мозги не плывут, понимаешь что, как и где! Благодарен Вам за труд, удачи!
Благодарю) только меня Артём зовут)
@@egoroffchannel Артем прошу прошения))) название канала помешало мне)))))
@@egoroffchannel Здравствуйте на 11:18 , у меня ошибка выходит : AttributeError: объект 'dict' не имеет атрибута 'append'
вот такая ошибка сверху , прошу помогите , всё делал так как на видео
а понял я пробел нечайно сделал
Один из самых лучших курсов по питону в русскоязычном сегменте!
Коммент благодарности и для продвижения на ютубе. Канал попался случайно и даже не с первого раза, а должен быть в топе!
Спасибо за отличное повествование, прекрасную русскую речь . А теперь - немного по теме, по поводу d.popitem(): вопреки ожидания, что будет удаляться случайная пара, у меня удаляется всегда - последняя в коллекции. Спасибо.
Как вы определяете, какая из пар "последняя"? Словарь - это неупорядоченный объект, в таких объектах вообще нет понятий "первый" и "последний" элемент, так как эти объекты представляют собой хэш, а не стэк.
@@inconstancy В каком-то из обновлений пайтона словарь стал упорядоченным и popitem начал удалять последний добавленный элемент
Уважаемый Егоров, ты - красавчик!!!!!!
Отдельное спасибо за быстрое редактирование с помощью Alt. Знала же, что подобная фишка должна быть, но в книге (может быть пока не дошла) не упоминается))
Офигенный формат виде, если что-то забыл, легко вернуться и просмотреть, к тому же объясняешь как использовать и для чего
после просмотра видео смог правильно запустить программу, которую 2 дня пытался написать. Большое спасибо, теперь я знаю, куда обращаться за нужной информацией
Присоединяюсь кo всем! И еще раз спасибо огромное!!!
Классный урок, спасибо за вашу работу!
Как все просто с хорошим учителем!
Спасибо огромное за грамотное и понятное объяснение материала.
Полнее обзора по этой теме, я не встречал. Огромное спасибо. 👍👍👍👨💻👨💻👨💻
Спасибо! 5 часов голову ломал с этими словорями, в видео за 20 минут всё разжёвано и показано!
Одна из сложнейших и важнейших тем, очень хорошо объяснил
Отличный курс) Спасибо автору
Чел спасибо, ты лучший. Когда книга становится непонятной, иду смотреть твой ролик по теме.
Я тоже затупил на методе get в книге изучаем python от эрика мэтиза)) т и вообще эта книга такая, чуть что - лезь в инет сам все ищи(
Артём, благодарю! Отличный урок!! 👍🤝🔥🔥🔥
Спасибо большое! Пытался читать, читал 2 книги, смотрел видео, но так подробно, ясно, по полочкам разложенные объяснения не находил, одни не договаривали, другие слишком перегружали, в общем, лучше вас не нашел
спасибо большое, вы очень классно рассказываете
Спасибо, освежил память, а то уже все забыл.
Как всегда на высоте, очень качественно! Рекомендую всем знакомым, заинтересованным Python’ом :)
благодарю)
Тебе повезло, у тебя они есть... А то мне приходится самому себе рекомендовать🌚
Спасибо большое за видео.
Лучший канал по python! Респект!
Отличное видео! Спасибо!
Пиздатый ты мужик Егор! Спасибо большое
Автор красавчик , хорошо объясняешь. Тысяча подписчиков и всего 20 лайков. Ну ничего , в ближайшее время канал должен "выстрелить" :-) Автору УДАЧИ !
Благодарю) буду тоже на это надеяться
@@egoroffchannel вроде получилось
@@kenjoozi1671 да)
@@MrKoTera ага
Для технарей идеально объясняешь.
Классный канал все четко без соплей....
Рассказано всё понятно и подробно)
Спасибо за урок. Наконец то я добрался до словарей!!))
Спасибо что ты есть
Спасибо братко) Удачи в развитии канала. ВСем добра
Спасибо за подробный материал) Учу по книге, доучиваю по ютубу) лайк, подписка)
Красавец все внятно и ясно
Спасибо спасибо спасибо и еще раз СПАСИБО !
а как добавить 2 и более значений к одному и тому же ключу?
за редактирование через alt отдельное спасибо
Спасибо! Очень круто объясняешь, влепил лайк с 8 акков
Спасибо! 10:55 тут, кстати говоря можно было сделать следующим образом:
person['Marks'] = ','.join(s[4:])
Благодаря вашим предыдущим урокам, я могу справится с практически любой задачей! Спасибо большое за такие понятные уроки!
Это просто бомба!!!!
Пишу поздно, но у меня проблемка. Создания словаря с помощью вложенных списков, python версии 3.8 не поддерживает синтаксис показанный в видео. Информацию на эту тему я не нашел, документацию прочитать знания английского не хватает. Помогите кто знает
Круто , спасибо !:)
Спасибо!
Подскажите, пожалуйста, как посчитать, сколько раз встречается слово в файле с помощью словаря. Чтобы ключ(слово):значение(количество)🙏
14:17 Методы словарей
14:20 clear() Очищает весь словарь
14:31 get() Позволяет получить значение ключа
15:27 setdefault() Получает значение ключа. При обращении к несуществующему ключу он вносит в словарь новую пару ключ-значение
16:37 pop() Возвращает значение, находящееся под указанным ключом, а из самого словаря удаляется пара с данным ключом
17:16 popitem() Удалит и вернет двойной кортеж (key, value) из словаря. Пары возвращаются с конца словаря
17:30 Начиная с Python 3.7 словари стали упорядоченными
18:08 keys() Позволяет получить все ключи словаря
18:30 values() Позволяет получить все значения словаря
18:50 items() Возвращает коллекцию, в которой содержатся все пары «ключ-значение» в виде кортежей
Автор, какие нюансы есть при использовании в качестве ключа числа типа float? Дело касается сравнений по ключам и расчётам
Спасибо за ваши уроки. У меня к вас вопрос. Можно ли получить доступ к закрытым видео, оплатив их через яндекс деньги? Другие способы оплаты для меня проблематичны. Удачи.
Спасибо за канал и домашние задания. Очень хорошо рассказываете. Я занимаюсь с преподавателем лично, но у вас лучше получается доносить )
так можешь со мной заниматься)
Все хорошо, но города Питер не существует . 812 -код города Санкт-Петербург. В остальном огромное спасибо! С вами освоение идет в разы лучше!
в случае с оценками можно было не использовать for, а выполнить все в одну строчку: person['marks'] = s[4:], результат тот же самый
а разве там не строки вернет вместо целых значений? Мы же строку разбили и элементы списка так ими и остались
на 11:20 программа не заработала в том виде,
Traceback: person['marks'].append(int())
AttributeError: 'str' object has no attribute 'append'
Артем, огромное вам спасибо за ваш труд. Очень интересно и понятно. Не могли бы вы подсказать, как и где можно укрепить полученные знания после просмотра ваших роликов?
стараюсь под каждым видео оставлять ссылки на задачи по соответствующим разделам. сайты acmp, codeforces тебе в помощь
Лучший👍
Приветствую. Вот, наконец-то, я попала на ваш сайт с более подробной информацией, где, по идее, должны быть и примеры задач для самостоятельного решения (об этом говорится в видео), но я их не вижу. Подскажите куда смотреть, плиз))
Есть раздел "Теория", а есть раздел "Практика"
Можно ли как-то присвоить переменную ключу? Ну вот генерится у меня какая-то цифра в переменную, а затем нужно её засунуть в словарь. Это возможно?
Спасибо
Лучший чел
Лучший из лучших, как настроить также питон ?
Thanks!
спасибо
пасяба :3
не знаю кому как, он слова говорит, а не жует. Сейчас делаю курсы по пайтону кокрас тема словари благодаря ему сделал
Скажите пожалуйста, как решить задачу "C. Registration system"? Сам пробовал решать, но не получается, ошибка выскакивает, а в интернете нету ничего. :(
Скорее всего , я уже не увижу ответ на свой вопрос, но все же спрошу , popitem() удаляет последнюю пару словаря , или это только в новых версиях?
13:53 как я понял возвращается не значение ключа ,а сам ключ,потому что значение идёт после знака " : " , извини Артём за дотошность ,)
Получается setdefault это типо такая проверка?
Если не ошибаюсь, с версии пайтон 3.9 метод pop можно вызывать без параметра и он будет удалять последний добавленный элемент словаря
привет. скажите пжл, что вы думаете о яндекс практикуме? хочу поступить скоро. питон разработчик. 135000 за 9 месяцев дорого или как? может есть дешевле платформы ?
Спасибо большое за качественный материал!
Подскажи, пожалуйста, как "заккоментировать ту или иную строку"?
знак # в начале
На маке - cmd+/
у меня вопрос.
11:13 на 9 строке почему мы пишем s[4:] что значит конструкция в квадратных скобках?
интервал от 4 индекса и до конца
А если в ключах будет кортеж? Все будет ок?
помогите решить задачу. Надо чтобы пользователь ввел слово, а программа выдавала по буквам и количестве. например если ввести hello, то output {'h': 1, 'e':1, 'l':2, 'o': 1} и начало кода должно быть text=input() dict={}
Можете помощь! Как сделать сравнение с перебором, в словорях
хотел поставить в значение ключа 0 в начале d['vodafozne']=073
пишет, что Python 3.10 does not support this syntax. It requieres 'o0' prefix for octal literals. Так а как 0 в начале поставить то?
А что со склонениями? Как без загрузки словаря просклонять слово? =)
Я так и не понял как с этим работать. Дали задачку- есть список в нём словарь. В словаре как обычно ключ и список. Мне нужно было вывести на печать определенные значения без ключей. И вот я запутался.
Можно было еще добавить метод Discard. Удаление без отображения ошибок
Метод popitem() удаляет и возвращает пару (ключ, значение) из словаря в порядке «последний пришел ‒ первый ушел» (LIFO). То есть, последнюю добавленную пару.
Примечание:
До Python 3.7 метод возвращал и удалял произвольную пару элементов (ключ, значение) из словаря.
Здравствуйте у меня постоянно этот метод (print(f.popitem())) удаляет последнюю пару (ключ и значение) (4, 'four').
А не случайную?????Это ошибка???
так и должно быть помоему , у меня тоже так (и у автора видео , хотя говоритчто случайную)
Объясняете отлично. Но было бы круто если бы вы делали что-то вроде домашнего задания к
каждому уроку. И еще, я жду занятия про работу с файлами))
домашку ищи на моем сайте под видео. там ее побольше. а файлы будут конечно
@@egoroffchannelСпасибо, принял
@@egoroffchannel я сейчас на вашем сайте, в самом низу под теорией, но там только место для комментирования, а задач не вижу, наверное не там ищу, не подскажите куда смотреть? Благодарю
@@Helen-vh8up задачи есть не под каждым видео
А созданные в словаре переменные относятся к глобальному списку или к локальному?
переменные в словаре? В каком смысле? В словаре идет пара Ключ:Значение. Сформулируй вопрос точнее)
Помогите пожалуйста с задачей про регистрацию
на Codeforce пишется "Превышено ограничение времени на тесте 7
"
Код:
n = int(input())
d = {}
for i in range(n):
a = input()
if d.get(a) is None:
d[a] = 'OK'
else:
j = 1
while True:
if d.get(a + str(j)) is None:
d[a + str(j)] = a + str(j)
break
j += 1
for i in d:
print(d.get(i))
Вот ответ на задачу с регистрацией:
d = dict()
for _ in range(int(input())):
s = input()
d[s] = d.get(s, -1) + 1
if not d[s]:
print('OK')
else:
print(s, d[s], sep='')
Начиная с Pythoh 3.6 метод pop() удаляет последнее(!) значение из словаря.
Всё прошёл но к словарям снова и снова возвращаюсь,спмая запутанная тема для меня
топ просто
👏👍
А можно ли вставить элемент в словарь в цикле for в определенное место?
Словарь неупорядочен, нет там индексов
заработало вот так
# person['marks'] = s[4:]
person = {}
s = 'Ivanov Ivan Kiev KPI 5 3 4 5 4 5 4 3 4 5 5'
s = s.split() #разделяем строку по пробелам
person['lastName'] = s[0]
person['fistName'] = s[1]
person['city'] = s[2]
person['university'] = s[3]
person['marks'] = s[4:]
for i in s[4:]:
person['marks'].append(int())
print(s)
print(person)
Топ
На данный момент можно еще добавить, что после версии питона 3.7 словари стали упорядоченными
как отсортировать вывод ключей в алфавитном порядке?
stepik.org/lesson/296967/step/2?unit=278695