Как сделать словарь из двух списков в Python
Совсем не давно я обратил свое внимание на Python, захотелось попробовать свои силы в программирование и если все получиться поменять сферу деятельности, но это еще только планы. В общем, в программирование на Python я не новичок, но до гуру мне еще очень далеко, поэтому если Вы найдете ошибки в моих статьях сообщите. Если Вы так же решили изучить Питон, то должны научиться работать со словарями и списками. Сегодня поговорим о том как создать словарь из списков.
Я уже написал несколько статей касаемых программирования на Python, рекомендую Вам с ними обязательно ознакомиться.
Python «subprocess connection error»
Программа на Python с графическим интерфейсом
Python не является внутренней или внешней командой
Компилируем код Python в файл exe
Как установить фреймворк Django
Как собрать словарь из двух списков
И так допустим есть какие то списки, например.
names = [‘Аня’, ‘Коля’, ‘Лёша’, ‘Лена’, ‘Миша’]
cities = [‘Владивосток’, ‘Красноярск’, ‘Москва’, ‘Обнинск’, ‘Чебоксары’]
Для того чтобы собрать словарь нужно воспользоваться функциями len и range в цикле for.
friends = {}
for i in range (len(friends_names)):
friends[names[i]] = cities [i]
Если выполнить
print(friends)
То получим словарь.
{‘Аня’: ‘Владивосток’, ‘Коля’: ‘Красноярск’, ‘Лёша’: ‘Москва’, ‘Лена’: ‘Обнинск’, ‘Миша’: ‘Чебоксары’}
Давайте немного разберем то что мы сделали, с помощью range мы задали последовательность чисел, с аргументом len(names). Функция len(names) посчитала и вернула нам количество элементов в списке
names.
Если выполнить.print(len(names))
Мы увидим количество элементов в списке.
Далее мы просто сопоставили элементы двух списков friends[names[i]] = cities [i].
Самое главное чтобы элементы в списках соответствовал друг другу и их было одинаковое количество.
Код не работает!!!
names = [‘Аня’, ‘Коля’, ‘Лёша’, ‘Лена’, ‘Миша’]
cities = [‘Владивосток’, ‘Красноярск’, ‘Москва’, ‘Обнинск’, ‘Чебоксары’]
friends = {}
for i in range (len(friends_names)):
friends[names[i]] = cities [i]
Выдает ошибку
File «», line 5
friends[names[i]] = cities [i]
^
IndentationError: expected an indented block
Конечно у тебя ничего работать не будет, так как во первых у тебя неверно кавычки стоят, а так же в 5ой строке нужно написать friends вместо friends_names. Короче должно быть вот так:
names = [‘Аня’, ‘Коля’, ‘Лёша’, ‘Лена’, ‘Миша’]
cities = [‘Владивосток’, ‘Красноярск’, ‘Москва’, ‘Обнинск’, ‘Чебоксары’]
friends = {}
for i in range (len(names)):
friends[names[i]] = cities [i]
def calc_income_by_month(dates: list, income: list)->dict:
income_by_month = {}
for i in range (len(dates)):
income_by_month[dates[i]] = income[i]
print(income_by_month)
calc_income_by_month(dates, income)
dates = [‘2021-11-01′,’2021-10-01′,’2021-03-01′,’2021-05-01′,’2021-12-01’]
income = [110, 120, 110, 150, 100]
получилось!