Удалить {} из 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() для удаления.