Изменить содержание элементов списка
Есть список с данными:
[['Wed Jun 30 14:25:04 MSK 2021', 'Tue Jul 21 11:21:08 MSK 2021', '2213', 'FIO', 'Перерасчет'],
['Wed Jul 24 12:23:02 MSK 2021', 'Tue Jul 11 10:21:01 MSK 2021', '2458', 'FIO', 'Перерасчет'],
['Wed Jun 21 10:40:03 MSK 2021', 'Tue Jul 16 15:21:08 MSK 2021', '2681', 'FIO', 'Перерасчет']]
Нужно изменить содержание первых двух элементов этого списка, к примеру:
'Wed Jun 30 14:25:04 MSK 2021' -> '30.06.2021'
'Tue Jul 21 11:21:08 MSK 2021' -> '21.07.2021'
Вот желаемый результат:
[['30.06.2021', '21.07.2021', '2213', 'FIO', 'Перерасчет'],
['24.07.2021', '11.07.2021', '2458', 'FIO', 'Перерасчет'],
['21.06.2021', '16.07.2021', '2681', 'FIO', 'Перерасчет']]
Как это сделать, желательно не создавая новый список?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Можно сделать через dateutil. Ругается у меня правда на таймзону MSK, но всё-равно работает:
from dateutil import parser
def dt_convert(dt):
return parser.parse(dt).strftime("%d-%m-%Y")
lst = [
['Wed Jun 30 14:25:04 MSK 2021', 'Tue Jul 21 11:21:08 MSK 2021', '2213', 'FIO', 'Перерасчет'],
['Wed Jul 24 12:23:02 MSK 2021', 'Tue Jul 11 10:21:01 MSK 2021', '2458', 'FIO', 'Перерасчет'],
['Wed Jun 21 10:40:03 MSK 2021', 'Tue Jul 16 15:21:08 MSK 2021', '2681', 'FIO', 'Перерасчет']
]
for item in lst:
item[0] = dt_convert(item[0])
item[1] = dt_convert(item[1])
print(lst)
Вывод:
[['30-06-2021', '21-07-2021', '2213', 'FIO', 'Перерасчет'],
['24-07-2021', '11-07-2021', '2458', 'FIO', 'Перерасчет'],
['21-06-2021', '16-07-2021', '2681', 'FIO', 'Перерасчет']]