У меня есть список со словарями, в котором я сортирую их по разным значениям. Я делаю это с этими строками кода:Сортировка, когда значения равны None или пустые строки python
def orderBy(self, col, dir, objlist):
if dir == 'asc':
sorted_objects = sorted(objlist, key=lambda k: k[col])
else:
sorted_objects = sorted(objlist, key=lambda k: k[col], reverse=True)
return sorted_objects
Теперь проблема заключается в том, что я иногда имеют нулевые значения или пустые строки, когда я пытаюсь разобраться, а потом все это рассыпается.
Я не уверен, но я думаю, что это исключение, которое выбрано: unorderable types: NoneType() < NoneType(). Это происходит, когда в столбце, который я пытаюсь сортировать, нет значений None. Для пустых значений строки он работает, хотя они заканчиваются первым в списке, но я бы хотел, чтобы они были последними.
Как я могу решить эту проблему?
Точно * как * это сломаться? –
Боковое примечание: не используйте 'if..else', когда вы можете просто выполнить сортировку (..., reverse = dir! = 'Asc')' здесь. –
Здесь вы должны предоставить нам некоторые данные примера; покажите нам, что произойдет с этим, и то, что ожидалось от yu. –