【问题标题】:Remove Duplicate from Nested List Python - Error从嵌套列表 Python 中删除重复项 - 错误
【发布时间】:2020-03-22 19:36:28
【问题描述】:

我有以下嵌套列表:

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)) 

但我收到错误消息:strint 的实例之间不支持 <

知道有什么问题吗?

【问题讨论】:

  • sorted() 的目的是什么?我认为不需要。
  • 但是 sorted() 并不是应用于整个集合,而是应用于每个列表。
  • 您的列表包含不同类型的成员,因此很难比较。 0(整数)是否小于“hello”(字符串)?这个问题没有意义。这就是您在该错误消息中被告知的内容。您可以将所有内容都转换为字符串,或者您可以尝试按照其他人的建议删除 sorted。

标签: python list nested duplicates


【解决方案1】:

您收到错误是因为您的列表同时包含整数和字符串(“无老化”) 当您调用 sorted() 时,它使用

在这种情况下,我建议您制作自己的排序功能;一个可以将您的字符串添加到您想要的任何位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2023-02-06
    相关资源
    最近更新 更多