#python #python-3.x #list #dictionary
#питон #python-3.x #Список #словарь
Вопрос:
Я хочу создать словарь, в котором ключом являются имя и фамилия спортсмена, сохраненные в виде кортежа, а значением является список, содержащий страну спортсмена и время окончания в часах, минутах и секундах (в кортеже), как показано ниже:
dict={(Richard,Ringer):[Germany,(2,11,27)], (Eliud,Kipchoge):[Kenya,(2,8,38)], (Yavuz,Agrali):[Turkey,(2,15,5)], ...}
Мне удалось отобразить имя и фамилию, так как они находятся в кортеже, создав простой цикл for, но я понятия не имею, как я могу отобразить часть списка.
for i in dict: name=i[0] surname=i[1] print(name ' ' surname)
Существует ли аналогичный способ печати списка элементов в словаре?
Комментарии:
1.
print(dict)
автоматически отобразит словарь
Ответ №1:
data={('Richard','Ringer'):['Germany',(2,11,27)],('Eliud','Kipchoge'):['Kenya',(2,8,38)],('Yavuz','Agrali'):['Turkey',(2,15,5)]} info = [] for item in dict(data): info.append({ 'name': item[0], 'surname': item[1], 'country': data[item][0], 'finishing_time': { "hours": data[item][1][0], "minutes": data[item][1][1], "seconds": data[item][1][2], } }) print(info);
Выход :-
[{'name': 'Richard', 'surname': 'Ringer', 'country': 'Germany', 'finishing_time': {'hours': 2, 'minutes': 11, 'seconds': 27}}, {'name': 'Eliud', 'surname': 'Kipchoge', 'country': 'Kenya', 'finishing_time': {'hours': 2, 'minutes': 8, 'seconds': 38}}, {'name': 'Yavuz', 'surname': 'Agrali', 'country': 'Turkey', 'finishing_time': {'hours': 2, 'minutes': 15, 'seconds': 5}}]