检查所有元素是否都是唯一的不可用列表

时间:2017-02-05 00:18:40

标签: python list

这里是Python新手。我已经发现,使用

检查列表是否包含所有独特元素是相当微不足道的
  if len(lst) > len(set(lst))

但我怎么处理这样的案子呢?

all_different([[],[],[],[]]) #False

我不能在这个例子中使用set()函数。我理解如何使用Java中的嵌套for循环来做这个(相当低效)。但不确定我如何在Python中实现它。

1 个答案:

答案 0 :(得分:0)

您可以对列表进行哈希处理,因为它们是可变的,但您可以将它们转换为元组,然后对它们进行哈希处理。像这样:set(tuple(elem) for elem in lst)

您的比较将变为:

myset = set(tuple(elem) for elem in lst)
if len(lst) > len(myset)