Удалить {} из OrderedDict

У меня есть OrderedDict, переданный как результат в моей функции ниже:

[
    {
        
        "name": "tetst",
        "date": [
            {
                "dates": "20/09/2021 15:14:00",
                "id": 146
            },
            {
                "dates": "20/09/2021 15:14:00",
                "id": 145
            }
        ]
    },
    {} 
]

Я хочу удалить объект {} из Dict и получить dict без {}. {} следующим образом:

[
        {
            
            "name": "tetst",
            "date": [
                {
                    "dates": "20/09/2021 15:14:00",
                    "id": 146
                },
                {
                    "dates": "20/09/2021 15:14:00",
                    "id": 145
                }
            ]
        }
    ]

Для отсеивания пустых словарей можно использовать понимание списка, которое будет оцениваться как ложное

>>> data = [obj for obj in data if obj]
>>> data
[
    {
        'name': 'tetst',
        'date': [
            {
                'dates': '20/09/2021 15:14:00',
                'id': 146
            },
            {
                'dates': '20/09/2021 15:14:00',
                'id': 145
            }
        ]
    }
]

То, что у вас есть, не похоже на OrderedDict. OD обычно представляется в виде списка пар кортежей. Вы показываете список словарей.

Если ваш список всегда будет длиной в два элемента, то вы можете просто сказать

result.pop()

удаляет последний элемент из списка.

Вы могли бы сделать его немного жестче, сказав:

if result[-1] == {}:
    result.pop()

Но в целом, я думаю, вам нужно вернуться назад и глубже понять, какой вывод вы генерируете.

Счастливого кодирования! :)

Используйте функцию pop() для удаления.

Вернуться на верх