Изменить содержание элементов списка

Есть список с данными:

[['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', 'Перерасчет']]
→ Ссылка