Модуль 6.4 (Словарь. Знакомство с типом данных dict).
Словарь (его еще называют ассоциативным списком) – неупорядоченная совокупность произвольных объектов с доступом по ключу. Словари это очень важный тип данных, вы будете с ним очень часто работать, возможно так же часто как и со списками.
Как создать пустой словарь и сохранить его в переменной
d
?
d = {}
d = dict()
Создайте пустой словарь и сохраните его в переменную
my_dict
, затем выведите на экран эту переменную
my_dict = {} # создаем пустой словарь при помощи фигурных скобок print(my_dict) # выводим пустой словарь, хранящийся в переменной my_dict
Какой тип данных мы увидим если у переменной
d
вызвать функциюtype()
?d = {} print(type(d))
dict
Создайте словарь, у которого должны быть следующие пары
ключ-значения
Ключ Значение name
— строкаVasya
— строкаsurname
— строкаPetrov
— строкаage
— строка25
— целое числоДанный словарь необходимо сохранить в переменную
person
и затем вывести эту переменную на экран
# создаем словарь с данными приведенными в таблице. Ключ: Значение - 1 элемент словаря person = {'name': 'Vasya', 'surname': 'Petrov', 'age': 25} print(person) # выводим данный словарь
Что произойдет после запуска следующей программы?
man = {"name": "John", "age": 30, "car": None} print(man["age"])
Увидим на экране 30
Перед вами имеется словарь
sweet
В отдельных строках распечатайте сперва значение ключа
name
, потомcalories
и напоследокid
sweet = { "id": "0001", "type": "donut", "name": "Cake", "ppu": 0.55, "calories": 125, } print(sweet['name']) # получаем значение хранящееся под name print(sweet['calories']) # получаем значение хранящееся под calories print(sweet['id']) # получаем значение хранящееся под id
Что произойдет после запуска следующей программы?
man = {"name": "John", "age": 30, "car": None} print(man[30])
Получим ошибку KeyError
В вашем распоряжении имеется словарь
days
, в котором в качестве ключей хранится номера месяца, а в качестве значения — количество дней в соответствующем месяце (будем исключать високосные года и полагать, что в феврале всегда 28 дней)Ваша программа получает на вход номер месяца, гарантируется что это будет число в пределах от 1 до 12.
Ваша задача по введеному номеру месяца вывести количество дней
days = { 1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31 } a = int(input()) # получаем число - номер месяца(ключ для словаря) print(days[a]) # выводим количество дней в введенном месяце(ключе словаря) дней, обращаясь по введенному ключу
Словарь относится к
изменяемым объектам
Перед вами имеется словарь
sweet
Ваша задача:
- создать строковый ключ
weight
с целым значением230
- создать строковый ключ
have_topping
c булевым значениемTrue
- изменить значение ключа
name
на строкуSuperCake
- изменить значение ключа
calories
на целое число350
В качестве ответа распечатайте в конце словарь
sweet
sweet = { "id": "0001", "type": "donut", "name": "Cake", "ppu": 0.55, "calories": 125, } sweet['weight'] = 230 # создаем ключ и присваиваем ему значение sweet['have_topping'] = True # создаем ключ и присваиваем ему значение sweet['name'] = 'SuperCake' # присваиваем новое значение уже существующему ключу sweet['calories'] = 350 # присваиваем новое значение уже существующему ключу # выводим полученный словарь print(sweet)
Перед вами имеется словарь
sweet
Удалите из него ключи
ppu
иtype
Затем выведите словарь
sweet
в качестве ответа
sweet = { "id": "0001", "type": "donut", "name": "Cake", "ppu": 0.55, "calories": 125, } del sweet['ppu'] # удаляем из словаря ключ ppu del sweet['type'] # удаляем из словаря ключ type # выводим полученный словарь print(sweet)
Что произойдет после запуска следующей программы?
man = {"name": "John", "age": 30, "car": None} del man[30] print(man)
Произойдет ошибка KeyError
На вход программе поступает целое число
n
. Вам необходимо создать словарь, который будет включать в себя ключи от 1 доn
, а значениями соответствующего ключа будет значение ключа в квадрате.В качестве ответа выведите полученный словарь
num = int(input()) # получаем число - количество элементов словаря numbers = {} # создаем пустой словарь для добавления элементов с числами # циклом проходимся по числам от 1 до num(включительно) и добавляем элементы словаря: ключ - число, значение - квадрат числа for i in range(1, num+1): numbers[i] = i ** 2 # выводим полученный словарь print(numbers)
Напишите программу, которая печатает словарь
alphabet
, где ключи — строчные английские символы, а значения — порядковые номера букв в алфавите начиная с 1.Начало вашего словаря должны быть таким {«a»: 1, «b»: 2 … }
В качестве ответа распечатайте полученный словарь
alphabet
Весь английский алфавит можно взять в переменной
ascii_lowercase
из модуляstring
:from string import ascii_lowercase print(ascii_lowercase)
alphabet = {} # создаем пустой словарь для добавления английского алфавита # циклом мы в словарь добавляем элементы словаря: Ключ - английская буква, значение - её порядковый номер for i in range(26): alphabet[chr(97+i)] = i+1 # английскую букву мы получаем из таблицы аски по её id - chr(id) - возвращает букву по id в таблице аски # возвращаем полученный словарь с буквами и их номерами print(alphabet)
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы