У меня есть список имеющихся словарей. Ниже приведены мои образцы данных:
[
{
"Customer_id": "123",
"Account_no": "123456789012",
"Amount": 3000,
"Transaction": [
{
"date": "20/06/25",
"time": "12:19:39",
"Shop": "Amazon",
"Comments": "Valuable items"
}
]
},
{
"Customer_id": "123",
"Account_no": "123456789012",
"Amount": 3000,
"Transaction": []
}
]
Здесь мне нужно удалить словарь, если я обнаружил, что список транзакций пуст. Ниже показан код, который я пробовал:
res=list(filter(None,({key:val for key,val in sub.items() if val} for sub in results)))
#results is the list of dictionary
Мой результат:
[
{
"Customer_id": "123",
"Account_no": "123456789012",
"Amount": 3000,
"Transaction": [
{
"date": "20/06/25",
"time": "12:19:39",
"Shop": "Amazon",
"Comments": "Valuable items"
}
]
},
{
"Customer_id": "123",
"Account_no": "123456789012",
"Amount": 3000,
}
]
Я могу удалить только этот конкретный список, но не связанные с ним детали.
Ожидаемый результат:
[
{
"Customer_id": "123",
"Account_no": "123456789012",
"Amount": 3000,
"Transaction": [
{
"date": "20/06/25",
"time": "12:19:39",
"Shop": "Amazon",
"Comments": "Valuable items"
}
]
}
]
Пожалуйста, дайте мне знать, как это сделать который. Заранее спасибо!