Всем привет!
Возникла задача среди пользователей, данные о которых отдает API ВКонтакте, найти тех, у кого указана полная дата рождения. Пример списка пользователей:
users = [{'id': 6477, 'first_name': 'Oksana', 'last_name': 'Ozernaya'},
{'id': 6477, 'first_name': 'Oksana', 'last_name': 'Ozernaya', 'bdate': '5.3'},
{'id': 96163, 'first_name': 'Sergey', 'last_name': 'Kushlevich', 'bdate': '5.3.1986'}, ...]
Даты могут быть в трех форматах: ключ отсутствует, день-месяц, день-месяц-год.
Сейчас я делаю так:
for user in users:
if 'bdate' in user and re.match(r'^\d{1,2}\.\d{1,2}\.\d{4}$', friend['bdate']):
age = 2018 - int(user['bdate'].split('.')[-1])
Может это можно сделать проще/лучше/оптимизированнее?