这里是Python新手。我已经发现,使用
检查列表是否包含所有独特元素是相当微不足道的 if len(lst) > len(set(lst))
但我怎么处理这样的案子呢?
all_different([[],[],[],[]]) #False
我不能在这个例子中使用set()函数。我理解如何使用Java中的嵌套for循环来做这个(相当低效)。但不确定我如何在Python中实现它。
答案 0 :(得分:0)
您可以对列表进行哈希处理,因为它们是可变的,但您可以将它们转换为元组,然后对它们进行哈希处理。像这样:set(tuple(elem) for elem in lst)
您的比较将变为:
myset = set(tuple(elem) for elem in lst)
if len(lst) > len(myset)