#python
#питон
Вопрос:
my_dict = { "first_name": "Michael", "last_name": "Mike", "birthdate": "29.06.1980", # *** "hobbies": ["Sing", "Compose", "Act"] }
"birthdate"
это ключ, а дата-значение. Мне нужно привести дату к кортежу внутри словаря, чтобы это было так:
"birth_date": (29,06,1980)
Комментарии:
1. Обратите внимание, что на самом деле вы не можете иметь
06
кортеж, если это не строка; это был восьмеричный литерал в Python 2.x (но даже тогда вы увидите десятичную форму, когда распечатаете ее), и это была синтаксическая ошибка с Python 3.0.
Ответ №1:
Вы можете получить доступ к значению, соответствующему 'birthdate'
ключу , затем split
включить эту строку '.'
, а затем преобразовать каждое значение int
в выражение генератора
gt;gt;gt; tuple(int(i) for i in my_dict['birthdate'].split('.')) (29, 6, 1980)
Если вы хотите заменить значение в dict, вы можете присвоить это значение исходному ключу.
gt;gt;gt; my_dict['birthdate'] = tuple(int(i) for i in my_dict['birthdate'].split('.')) gt;gt;gt; my_dict {'first_name': 'Michael', 'last_name': 'Mike', 'birthdate': (29, 6, 1980), 'hobbies': ['Sing', 'Compose', 'Act']}