我有一个这样的列表:
i = [[1, 2, 3], [2, 4, 5], [1, 2, 3], [2, 4, 5]]
我想获得一个包含“唯一”列表(基于其元素)的列表,例如:
o = [[1, 2, 3], [2, 4, 5]]
我无法使用set()因为列表中有不可散列的元素。相反,我正在这样做:
set()
o = [] for e in i: if e not in o: o.append(e)
有没有更简单的方法来做到这一点?
您可以创建一组元组,但由于您提到的不可散列元素,因此不可能创建一组列表。
>>> l = [[1, 2, 3], [2, 4, 5], [1, 2, 3], [2, 4, 5]] >>> set(tuple(i) for i in l) {(1, 2, 3), (2, 4, 5)}