Python在一行中消除了带有不可散列元素的列表重复项 [英] Python eliminate duplicates of list with unhashable elements in one line

查看:75
本文介绍了Python在一行中消除了带有不可散列元素的列表重复项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
Python:从列表列表中删除重复项

Possible Duplicate:
Python: removing duplicates from a list of lists

说我有清单

a=[1,2,1,2,1,3]

如果a中的所有元素都是可散列的(如在这种情况下),则将完成此工作:

If all elements in a are hashable (like in that case), this would do the job:

list(set(a))

但是,如果

a=[[1,2],[1,2],[1,3]]

?

推荐答案

Python 2

>>> from itertools import groupby
>>> a = [[1,2],[1,2],[1,3]]
>>> [k for k,v in groupby(sorted(a))]
[[1, 2], [1, 3]]

在Python 3中也可以使用,但要注意的是,所有元素都必须是可排序的类型.

Works also in Python 3 but with caveat that all elements must be orderable types.

这篇关于Python在一行中消除了带有不可散列元素的列表重复项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆