Удалить дубликат из вложенного списка Python - ошибка - PullRequest
0 голосов
/ 22 марта 2020

У меня есть следующий вложенный список:

parameterList = [[0, -40, 0.001, 'No Ageing'], [0, -35, 0.001, 'No Ageing'], [0, -40, 0.001, 'No Ageing']]

Я пытаюсь настроить скрипт для удаления дубликатов во вложенном списке:

res = list(set(map(lambda i: tuple(sorted(i)), parameterList))) 
# print result 
print("The list after duplicate removal : " + str(res)) 

То же самое с:

res = list(set(tuple(sorted(sub)) for sub in parameterList)) 

Но я получаю ошибку: < не поддерживается между экземплярами str и int

Есть идеи, что не так?

1 Ответ

0 голосов
/ 22 марта 2020

Вы получаете свою ошибку, потому что в вашем списке есть как целые числа, так и строки («Нет устаревания»). Когда вы вызываете sorted (), он использует оператор <для сортировки ваших данных, который затем вызывает ошибку, когда ваша строка всплывает </p>

В этом случае я рекомендую создать собственную функцию сортировки; тот, который может добавить вашу строку в любой позиции, которую вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...