@albertalexandrov

Как лучше найти дату в строке?

Всем привет!

Возникла задача среди пользователей, данные о которых отдает 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])


Может это можно сделать проще/лучше/оптимизированнее?
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы