Вам доступен список pets, содержащий информацию о собаках и их владельцах. Каждый элемент списка – это кортеж вида (кличка собаки, имя владельца, фамилия владельца, возраст владельца).
Дополните приведенный код так, чтобы в переменной result хранился словарь, в котором для каждого владельца будут перечислены его собаки. Ключом словаря должен быть кортеж (имя, фамилия, возраст владельца), а значением – список кличек собак (сохранив исходный порядок следования).
Примечание 1. Не забывайте: кортежи являются неизменямыми, поэтому могут быть ключами словаря.
Примечание 2. Обратите внимание, что у некоторых владельцев по несколько собак.
Но я не понимаю как значение ключа которая являеться строкой переделать в список, если запустить мой код увидите что у меня все значения ключа являються строкой
Вот мой код:
pets = [('Hatiko', 'Parker', 'Wilson', 50), ('Rusty', 'Josh', 'King', 25), ('Fido', 'John', 'Smith', 28), ('Butch', 'Jake', 'Smirnoff', 18), ('Odi', 'Emma', 'Wright', 18), ('Balto', 'Josh', 'King', 25), ('Barry', 'Josh', 'King', 25), ('Snape', 'Hannah', 'Taylor', 40), ('Horry', 'Martha', 'Robinson', 73), ('Giro', 'Alex', 'Martinez', 65), ('Zooma', 'Simon', 'Nevel', 32), ('Lassie', 'Josh', 'King', 25), ('Chase', 'Martha', 'Robinson', 73), ('Ace', 'Martha', 'Williams', 38), ('Rocky', 'Simon', 'Nevel', 32)] result = {} for i in pets: result.update({i[1:]:i[0]}) for j in pets: for k,v in result.items(): if k == j[1:] and j[0] != v: result.update({k:v + ' ' + j[0]}) print(result)