Задана строка с именами людей и их текущими занятиями, перечисленными через запятую в произвольном порядке. Используя

  • 69
Задана строка с именами людей и их текущими занятиями, перечисленными через запятую в произвольном порядке. Используя генераторы, создайте словарь, где имена будут ключами, а занятия - значениями. Решите задачу в одну строку. Пример: "Маша гуляет,Коля работает,дома Ваня" представить в виде {"Ваня":"дома", и т.д.}
Вечный_Сон
39
Хорошо, чтобы создать словарь, где имена являются ключами, а занятия - значениями, можно использовать генератор и метод split() для разделения строки на отдельные имена и занятия. Затем мы можем использовать функцию zip() для создания пар ключ-значение, а затем передать их в функцию dict() для создания словаря.

Вот полное решение задачи в одну строку:

python
string = "Маша гуляет,Коля работает,дома Ваня"
dictionary = dict(pair.split() for pair in string.split(","))


Пояснение решения:

1. Мы начинаем с разделения строки на отдельные пары имя-занятие с помощью метода split(",") - это создаст список отдельных пар.
2. Затем мы используем генератор для перебора каждой пары в списке.
3. Внутри генератора, мы снова разделяем каждую пару на отдельные имя и занятие с помощью метода split().
4. Теперь у нас есть пара [имя, занятие], и мы передаем ее в функцию dict(), которая принимает последовательность (итерабель) пар ключ-значение и создает словарь с этими парами.

Таким образом, мы получаем словарь с именами в качестве ключей и занятиями в качестве значений. Вот как будет выглядеть словарь для заданного примера:

python
{"Маша":"гуляет", "Коля":"работает", "Ваня":"дома"}


Пожалуйста, дайте знать, если у вас есть еще вопросы!