@Gers

Как преобразовать значения ключей из int в datetime?

Не могу понять почему преобразовываются не все значения в словаре.

import datetime
dat = {21: 'data', 11: 'HI', 2: ' Join', 424: 'teg42 '}
today = datetime.date.today()
for i in dat:
    if isinstance(i, datetime.date):  # условие сравнения классов
        continue
    else :
        tod = today + datetime.timedelta(days=i)
        dat[tod] = dat.pop(i)

print(dat)

{2: ' Join', 424: 'teg42 ', datetime.date(2021, 3, 11): 'data', datetime.date(2021, 3, 1): 'HI'}


Заранее спасибо,
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
@o5a
Не стоит менять словарь/список, по которому делается итерация. Лучше использовать новый, в который заносить данные в этом же цикле. Или же сразу использовать dictionary comprehension

import datetime

dat = {21: 'data', 11: 'HI', 2: ' Join', 424: 'teg42 '}
today = datetime.date.today()
dat = {today+datetime.timedelta(days=k):v for k,v in dat.items()}
print(dat)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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