从列表列表中获取唯一项目?
问题描述
我有一个如下所示的列表:
I have a list of lists that looks like this:
animal_groups = [['fox','monkey', 'zebra'], ['snake','elephant', 'donkey'],['beetle', 'mole', 'mouse'],['fox','monkey', 'zebra']]
删除重复列表的最佳方法是什么?使用上面的例子,我正在寻找可以产生这个的代码:
What is the best to remove duplicate lists? Using the above example, I am looking for code that would produce this:
uniq_animal_groups = [['fox','monkey', 'zebra'], ['snake','elephant', 'donkey'],['beetle', 'mole', 'mouse']]
我最初认为我可以使用 set()
,但这似乎不适用于列表列表.我还看到了一个使用 itertools
的示例,但代码对我来说并不完全清楚.感谢您的帮助!
I first thought I could use set()
, but this doesn't appear to work on a list of lists. I also saw an example using itertools
, but the code was not entirely clear to me. Thanks for the help!
解决方案
uniq_animal_groups = set(map(tuple, animal_groups))
可以解决问题,尽管您最终会得到一组元组而不是一组列表.(当然您可以将其转换回列表列表,但除非有特定原因,否则为什么要这样做?)
will do the trick, though you will end up with a set of tuples instead of a set of lists. (Of course you could convert this back to a list of lists, but unless there is a specific reason to do so, why bother?)
相关文章