использование filter() несколько раз на одну переменную
Мне требуется отсортировать json объекты по их категориям внутри каждого объекта, а потом удалить пустые списки которые почему то образовываются, но я не могу сделать два этих действия ибо в цикле список не полный и выдает ошибку если фильтровать на удаление пустых списков, а в не списка, когда я вношу в новый список "testmassive" данные - все происходит хорошо, вот только список обретает вид: [[СПИСОК]]
то как я хочу чтоб это выглядело: [СПИСОК]
то как это выглядит без фильтра на удаление пустых списков: 
testmassive = []
# Открытие вышесозданного файла и чтение информации
with open('products_first_unsorted.json', encoding='utf-8') as products_json_file:
json_file = json.load(products_json_file)
for index, value in enumerate(prod_ids, start=0):
category_filtered_list = list(filter(lambda x: x['category'] == value, json_file))
# testmassive.append(category_filtered_list)
filtered_list = list(filter(None, testmassive))
# Запись сортированных данных в отдельный файл
with open('products_second_unsorted.json', 'w', encoding='utf-8') as products_json_file:
json.dump(filtered_list, products_json_file, ensure_ascii=False, sort_keys=False)
как это можно реализовать лучше? например определить переменную без типа, чтобы оно еще раз не оборачивалось в list, или же использовать в одной переменной сразу две фильтрации. Я не знаю. Помогите пожалуйста.
