Python 如何从列表中仅获取唯一值(删除重复项)?

Python 如何从列表中仅获取唯一值(删除重复项)?,python,list,duplicates,Python,List,Duplicates,如果我有这样的清单: examList = [1,1,2,2,3,4,5,6] 如何从列表中删除任何重复项并仅返回唯一值以获得以下列表: resultList =[3,4,5,6] # [1,2] were deleted because they appeared more than once. 实际上,删除的不仅仅是重复出现的情况,还包括重复编号本身。我知道你可以用 set(examList) 或 但通常情况下,这些不会删除重复编号,只会删除重复出现的次数 尝试以下列表: resu

如果我有这样的清单:

examList = [1,1,2,2,3,4,5,6]
如何从列表中删除任何重复项并仅返回唯一值以获得以下列表:

resultList =[3,4,5,6]  # [1,2] were deleted because they appeared more than once. 
实际上,删除的不仅仅是重复出现的情况,还包括重复编号本身。我知道你可以用

set(examList)


但通常情况下,这些不会删除重复编号,只会删除重复出现的次数

尝试以下列表:

result = [item for item in examList if examList.count(itemm) == 1]

尝试以下列表:

result = [item for item in examList if examList.count(itemm) == 1]

当你建议这样的事情时,顺序是不能保证的,这是非常值得注意的。这不是OP想要的结果。多次出现的元素根本不应该出现在结果列表中。当您建议这种事情时,顺序是不保证的,这确实值得注意。这不是OP所寻求的结果。多次出现的元素根本不应该出现在结果列表中。该问题的公认答案使用了很多旧东西,比如dict.has_key。更现代的方法:导入收藏;counts=collections.CounterexamList获取计数记录,然后,[x fo x在examList中如果计数[x]是的,一般来说,如果myList.countx==1,不要在myList中执行[x for x]这就是关于^2的问题。为什么这是重复问题中唯一可行的解决方案?时间复杂性并不总是一个问题。在某些情况下,一个关于^2的简单解决方案可能比一个更快更复杂的解决方案更可取。该问题中被接受的答案使用了很多旧的东西,比如dict.has_key。一种更现代的方法:导入集合;计数=collections.countexamlist获取计数记录,然后,[x fo x在examList中如果计数[x]是的,一般来说,如果myList.countx==1,不要在myList中执行[x for x]这是在^2上为什么这是重复问题中唯一可行的解决方案?时间复杂性并不总是一个问题。在某些情况下,使用^2上的简单解决方案可能比更快更复杂的解决方案更可取。