Отображение значений списка в словаре

#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}}]