Python

Python вопрос по СЛОВАРЯМ

Например вот ввод:
+71234567890 Сергей
+71234567810 Сергей
+51234567890 Михаил
+72134567890 Николай
Вот мой вывод:
('Михаил', '+51234567890') ('Николай', '+72134567890') ('Сергей', '+71234567810')
Вот который надо:
('Михаил', ['+51234567890']) ('Николай', ['+72134567890']) ('Сергей', ['+71234567890', '+71234567810'])
Как мне в значениях сделать список и к ним добавлять другие значения?
Для решения этой задачи можно использовать следующий код на Python:

phone_dict = {
'Михаил': ['+51234567890'],
'Николай': ['+72134567890'],
'Сергей': ['+71234567890']
}

numbers = []
for name, phone_number in phone_dict.items():
numbers.append((name, phone_number))

print(numbers)
В этом коде мы создаем словарь phone_dict с именами и номерами телефонов. Затем мы используем цикл for для перебора всех пар ключ-значение в словаре. Для каждого ключа мы добавляем пару (имя, номер телефона) в список numbers. Наконец, мы выводим список numbers, где каждая пара (имя, список номеров) разделена запятой.
МШ
Максим Шокорев
40 871
Лучший ответ
Вы можете создать словарь, где ключи - это имена, а значения - это списки номеров телефонов. Когда вы добавляете новую пару имя-номер телефона, вы можете проверить, есть ли уже в словаре ключ с таким именем. Если есть, то вы можете добавить новый номер телефона в список значений для этого ключа. Если нет, то вы можете создать новый ключ с именем и присвоить ему значение в виде списка с одним номером телефона.

Вот пример кода, который делает это:
 data = [ 
('+71234567890', 'Сергей'),
('+71234567810', 'Сергей'),
('+51234567890', 'Михаил'),
('+72134567890', 'Николай')
]

phonebook = {}
for phone, name in data:
if name in phonebook:
phonebook[name].append(phone)
else:
phonebook[name] = [phone]

for name, phones in phonebook.items():
print(f"({name}, {phones})")
Этот код создает словарь phonebook, где ключи - это имена, а значения - это списки номеров телефонов. Затем он проходит через список data с парами имя-номер телефона и добавляет их в словарь phonebook. Наконец, он выводит содержимое словаря в требуемом формате. Вы можете использовать этот код как основу для решения вашей задачи.
Никита Савкин
Никита Савкин
25 860
Ну так и сделать, ты же сам написал. Сделай значениями списки, и в них добавляй
Ваня Мащиц
Ваня Мащиц
8 869