Список словарей — это обычная структура данных в Python. В каждом словаре ключи и значения могут быть различными, и иногда могут возникнуть ситуации, когда необходимо найти определенный словарь в списке, выполнив поиск по определенному значению ключа.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Пример задачи
Представим, что у нас есть следующий список словарей:
[ {"name": "Tom", "age": 10}, {"name": "Mark", "age": 5}, {"name": "Pam", "age": 7} ]
В этом примере каждый словарь представляет собой набор информации о человеке, включая его имя и возраст. Задача заключается в том, чтобы найти словарь, в котором ключ «name» имеет значение «Pam».
Решение
Самый простой и прямолинейный способ решить эту задачу — использовать цикл for для перебора всех словарей в списке и оператор if для проверки значения ключа «name».
Вот как это выглядит на Python:
data = [ {"name": "Tom", "age": 10}, {"name": "Mark", "age": 5}, {"name": "Pam", "age": 7} ] for person in data: if person['name'] == 'Pam': print(person)
В этом коде person
— это временная переменная, которая на каждой итерации цикла получает следующий словарь из списка data
. Затем оператор if
проверяет, равно ли значение ключа ‘name’ в этом словаре ‘Pam’. Если это условие выполняется, то словарь выводится на экран.
В результате выполнения этого кода на экран будет выведен следующий словарь:
{"name": "Pam", "age": 7}
Это простой и эффективный способ поиска в списке словарей. Однако стоит помнить, что он будет работать корректно только в том случае, если гарантировано, что каждый словарь в списке содержит ключ, по которому выполняется поиск. Если этого не гарантировано, то перед проверкой значения следует использовать метод get()
, который позволяет избежать ошибки, когда ключ отсутствует в словаре.
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Добавить комментарий