Документация по Python. Теоретические материалы, и практические задачи

Задачи по словарям Python

Практические задачи по словарям Python. В этой большой статье, мы рассмотрим с вами несколько практических задач, которые позволят вам закрепить полученные в теоретической части знания. Работа со словарями, как и работа со списками и другими типами данных, являются фундаментальными знаниями в Python.

Python объединить словари

В этой задаче, мы научимся реализовывать объединение двух словарей в один. Для более лучшего понимания, вам следует знать следующие темы:


Ниже рассмотрены три варианта объединения словарей, с использованием различных операторов.

Пример 1. Использование оператора |

                    
dict_1 = {1: 'a', 2: 'b'}
dict_2 = {2: 'c', 4: 'd'}

print(dict_1|dict_2)

Результат:
{1: 'a', 2: 'c', 4: 'd'}

Внимание: Данный код сработает только на Python 3.9 и выше.

Оператор | объединяет два словаря в один. Если в двух словарях есть два одинаковых ключа, которые имеют разные значения, то для операции объединения, будет выбран вариант находящийся во втором словаре.

Пример 2. Использование оператора **

                    
dict_1 = {1: 'a', 2: 'b'}
dict_2 = {2: 'c', 4: 'd'}

print({**dict_1, **dict_2})

Результат:
{1: 'a', 2: 'c', 4: 'd'}

Оператор ** может объединить два словаря, он принимает в качестве аргумента словарь, и объединяет их. Более подробно о **kwargs и *args.

Пример 3. Используем copy() и update()

                    
dict_1 = {1: 'a', 2: 'b'}
dict_2 = {2: 'c', 4: 'd'}

dict_3 = dict_2.copy()
dict_3.update(dict_1)

print(dict_3)

Результат:
{2: 'b', 4: 'd', 1: 'a'}

В этом примере, мы скопировали словарь из dict_2 в dict_3 с помощью метода copy(), затем обновили dict_3 значениями из dict_1 с помощью метода update(). Как видите вариантов объединения словарей довольно много, выбирайте на свой вкус.

Проверка ключа в словаре

В этом простом но важном примере, мы с вами разберемся с тем, как проверять наличие ключа в словаре. Для лучшего понимания примера, вам необходимо хорошо знать следующие темы:


                    
my_dict = {1: 'a', 2: 'b', 3: 'c'}

if 2 in my_dict:
    print("Ключ существует")
else:
    print("Ключ не найден")

Результат:
Ключ существует

В данном примере, мы воспользовались ключевым словом in, для проверки наличия ключа в словаре.

Python словарь из двух списков

Создания словаря из двух списков, довольно простая задача, и сейчас мы разберемся как это работает.

Используем два метода, zip() и dict()

                    
index = [1, 2, 3]
languages = ['python', 'c', 'c++']

dictionary = dict(zip(index, languages))
print(dictionary)

Результат:
{1: 'python', 2: 'c', 3: 'c++'}

Функция zip() принимает список, объединяет их в кортеж, а </span class=»modulo»>dict() преобразовывает все это дело в словарь.

Удаление элемента из словаря

В этом примере, мы рассмотрим два варианта удаления элемента из словаря. В первом варианте мы будет использовать оператор del, во втором варианте воспользуемся методом pop().

Пример 1. Используем оператор del

                    
my_dict = {31: 'a', 21: 'b', 14: 'c'}

del my_dict[31]

print(my_dict)

Результат:
{21: 'b', 14: 'c'}

При использовании оператора del, удаляется сразу пара значений и ключа.

Пример 2. Используем метод pop()

                    
my_dict = {31: 'a', 21: 'b', 14: 'c'}

print(my_dict.pop(31))

print(my_dict)

Результат:
a
{21: 'b', 14: 'c'}

При использовании метода pop(), он возвращает нам значение ключа.