Как объединить два последних вхождения каждого идентификатора в списке словарей в один списокPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как объединить два последних вхождения каждого идентификатора в списке словарей в один список

Сообщение Anonymous »

У меня есть такой список:

Код: Выделить всё

list1 = [
{'id': 'ABC', 'created_at': datetime.date(2024, 8, 1, 11, 22, 3)},
{'id': 'ABC', 'created_at': datetime.date(2024, 8, 2, 11, 22, 3)},
{'id': 'ABC', 'created_at': datetime.date(2024, 8, 3, 11, 22, 3)},
{'id': 'ABC', 'created_at': datetime.date(2024, 8, 5, 11, 22, 3)},
{'id': 'BAC', 'created_at': datetime.date(2024, 7, 25, 18, 22, 3)},
{'id': 'BAC', 'created_at': datetime.date(2024, 7, 26, 18, 22, 3)},
{'id': 'BAC', 'created_at': datetime.date(2024, 8, 1, 18, 22, 3)},
{'id': 'BAC', 'created_at': datetime.date(2024, 8, 5, 11, 22, 3)},
{'id': 'CAB', 'created_at': datetime.date(2024, 8, 1, 6, 53, 3)},
{'id': 'CAB', 'created_at': datetime.date(2024, 8, 1, 17, 53, 3)},
{'id': 'CAB', 'created_at': datetime.date(2024, 8, 2, 11, 53, 3)},
{'id': 'CAB', 'created_at': datetime.date(2024, 8, 5, 11, 22, 3)},
]
Список сортируется по идентификатору и созданному_ату, поэтому повторную сортировку не требуется.
Если бы это было так один идентификатор без повторов, я знал, что смогу это сделать:

Код: Выделить всё

output = '\n'.join([f"ID: {l['id']}, Created At: {l['created_at']}" for l in list1])
Но что касается следующего ожидаемого результата, я не знаю, как это сделать:

Код: Выделить всё

[
{'id': 'ABC', 'start': datetime.date(2024, 8, 3, 11, 22, 3), 'end': datetime.date(2024, 8, 5, 11, 22, 3)},
{'id' 'BAC', 'start': datetime.date(2024, 8, 1, 18, 22, 3), 'end': datetime.date(2024, 8, 5, 11, 22, 3)},
{'id' 'CAB', 'start': datetime.date(2024, 8, 2, 11, 53, 3), 'end': datetime.date(2024, 8, 5, 11, 22, 3)},
]
Я собираюсь напечатать дату предпоследнего столбца для каждого идентификатора как начало, а последнюю как конец.
п>

Подробнее здесь: https://stackoverflow.com/questions/788 ... es-into-on
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»