1.Напишите инструкцию, которая создает словарь, содержащий приведенные ниже пары
"ключ : значение":
'а'  :  1
'б'  :  2
'в'  :  3

my_dict = {'a': 1,
            'б': 2,
            'в': 3}

2. Напишите инструкцию, которая создает пустой словарь.

my_dict = {}

3. Предположим, что переменная dct ссылается на словарь. Напишите инструкцию if, ко­торая определяет, существует ли в словаре ключ 'Джеймс'. Если существует, покажите значение, которое связано с этим ключом. Если ключа в словаре нет, то покажите соот­ветствующее сообщение.

dct = {'Робби': [90, 60, 90], 'Мерри': [100, 65, 95]}
if 'Джеймс' in dct:
	print(dct['Джеймс'])
else:
	print('Нет такого в словаре')

4. Предположим, что переменная dct ссылается на словарь. Напишите инструкцию if, которая определяет, существует ли в словаре ключ 'Джим'. Если существует, удалите ключ 'Джим' и связанное с ним значение.

dct = {'Робби': [90, 60, 90], 'Мерри': [100, 65, 95], 'Джим': [100, 120, 100]}
if 'Джим' in dct:
	del dct['Джим']
	print('Удалено')
else:
	print('Нет такого в словаре')

5. Напишите фрагмент кода, который создает множество с приведенными далее целыми числами в качестве его членов: 10, 20, 30 и 40.

my_set = {10, 20, 30, 40}

6. Допустим, что обе переменные set1 и set2 ссылаются на множество. Напишите фраг­мент кода, который создает еще одно множество, содержащее все элементы из set1 и set2, и присваивает получившееся множество переменной set3.

set1 = set()
set2 = set()
set3 = set1|set2   #(.union())

7. Допустим, что обе переменные set1 и set2 ссылаются на множество. Напишите фраг­мент кода, который создает еще одно множество, содержащее только те элементы, кото­рые одновременно находятся в set1 и в set2, и присвойте получившееся множество
переменной set3.

set1 = set()
set2 = set()
set3 = set1&set2  #(.intersection())

8. Допустим, что обе переменные set1 и set2 ссылаются на множество. Напишите фраг­ мент кода, который создает еще одно множество, содержащее все элементы set1, невходящие в set2, и присвойте получившееся множество переменной set3.

set1 = set()
set2 = set()
set3 = set1 - set2 #.difference()

9. Допустим, что обе переменные set1и set2 ссылаются на множество. Напишите фраг­мент кода, который создает еще одно множество, содержащее все элементы set2, не входящие в set1, и присвойте получившееся множество переменной set3.

set1 = set()
set2 = set()
set3 = set2 - set1

10. Допустим, что обе переменные set1 и set2 ссылаются на множество. Напишите фраг­ мент кода, который создает еще одно множество с элементами, не принадлежащими одновременно set1и set2, и присвойте получившееся множество переменной set3.

set1 = set()
set2 = set()
set3 = set2 ^ set1  #.symmetric_difference()

11. Предположим, что существует следующий список: numbers = [1, 2, 3, 4, 5]
Напишите инструкцию, в которой используется включение в словарь для создания сло­варя, в котором каждый элемент содержит число из списка numbers в качестве ключа и произведение этого числа на 10 в качестве значения. Другими словами, словарь должен содержать следующие элементы:
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50}

my_dict = {k:k*10 for k in numbers}

12. Предположим, что существует следующий словарь: 

test_averages = { 'Джанель': 98, 'Сэм': 87, 'Дженифер' : 92, 

                             'Томас': 74, 'Салли': 89, 'Зеб' :84 }
Напишите инструкцию, в которой используется включение в словарь для создания вто­рого словаря с именем high _ scores. Словарь high _ scores должен содержать все элемен­ты словаря test_averages, в котором значение равно 90 или больше.

my_dict = {k:v for k,v in test_averages.items() if v >= 90 }

13. Предположим, что переменная dct ссылается на словарь. Напишите фрагмент кода, который консервирует словарь и сохраняет его в файле mydata.dat.

import pickle
dct = {}
with open('test.bat', 'wb') as out_file:
    pickle.dump(dct, out_file)

14. Напишите фрагмент кода, который извлекает и расконсервирует словарь, законсервиро­ванный в задании 11.

import pickle
dct = {}
with open('test.bat', 'rb') as in_file:
    dct = pickle.load(in_file)