Вместе с партнерами из telegram-канала Python задачки мы собрали для тебя несколько простых задач по Python. В этой статье разберем словари.
Задача 1
Даны два словаря: dictionary_1 = {'a': 300, 'b': 400}
и dictionary_2 = {'c': 500, 'd': 600}
. Объедините их в один при помощи встроенных функций языка Python.
Для объединения двух словарей создадим третий словарь в виде копии первого. Для этого используем встроенную функцию copy()
. Далее к уже созданному словарю мы присоединяем второй словарь. Для этого мы используем встроенную функцию update()
.
dictionary_1 = {'a': 100, 'b': 200} dictionary_2 = {'x': 300, 'y': 200} dictionary_3 = dictionary_1.copy() dictionary_3.update(dictionary_2) print(dictionary_3)
Результат:{'a': 100, 'b': 200, 'x': 300, 'y': 200}
Задача 2
Дан словарь с числовыми значениями. Необходимо их все перемножить и вывести на экран.
Посмотреть решениеДля решения данной задачи создадим переменную result
, в которой будем накапливать результаты умножения, а для начала инициируем ее значением 1
. Затем при помощи цикла for
получим все значения словаря через его ключи. После этого результат умножения из переменной result
выведем на экран.
my_dictionary = {'data1': 375, 'data2': 567, 'data3': -37, 'data4': 21} result = 1 for key in my_dictionary: result = result * my_dictionary[key] print(result)
Результат: -165209625
Задача 3
Создайте словарь, в котором ключами будут числа от 1 до 10, а значениями эти же числа, возведенные в куб.
Посмотреть решениеДля решения этой задачи воспользуемся циклом for
, а для получения чисел в диапазоне от 1
до 10
будем использовать функцию range()
.
my_dict = {i : i ** 3 for i in range(1, 11)} print(my_dict)
Результат:{1: 1, 2: 8, 3: 27, 4: 64, 5: 125, 6: 216, 7: 343, 8: 512, 9: 729, 10: 1000}
Задача 4
Даны два списка одинаковой длины. Необходимо создать из них словарь таким образом, чтобы элементы первого списка были ключами, а элементы второго — соответственно значениями нашего словаря.
Посмотреть решениеДля решения задачи воспользуемся функцией zip
, которая из двух списков создает один, состоящий из кортежей длиной в два элемента каждый. Первый элемент кортежа взят из первого списка, а второй, соответственно, из второго. Индексы обоих элементов кортежа совпадают. После передачи такого списка в функцию dict
получается требуемый словарь.
keys = ['red', 'green', 'blue'] values = ['#FF0000','#008000', '#0000FF'] color_dictionary = dict(zip(keys, values)) print(color_dictionary)
Результат:{'red': '#FF0000', 'green': '#008000', 'blue': '#0000FF'}
Задача 5
Создайте словарь из строки 'pythonist'
следующим образом: в качестве ключей возьмите буквы строки, а значениями пусть будут числа, соответствующие количеству вхождений данной буквы в строку.
Для решения данной задачи воспользуемся функцией count()
, которая считает количество вхождений элемента в строку. Для генерации словаря воспользуемся синтаксисом представления словарей (dictionary comprehention).
str1 = 'pythonist' my_dict = {i: str1.count(i) for i in str1} print(my_dict)
Результат:{'p': 1, 'y': 1, 't': 2, 'h': 1, 'o': 1, 'n': 1, 'i': 1, 's': 1}