Python 从元组列表中删除置换

Python 从元组列表中删除置换,python,python-2.7,Python,Python 2.7,在此问题上的任何帮助都将不胜感激 我有一个元组列表 a = [(1,2), (2,1), (1,3), (1,4), (4,1)] 我需要删除某种类型的重复项:(1,2)和(2,1)根据我的定义被认为是重复项。所需输出 a = [(1,2), (1,3), (1,4)] 提前感谢您可以对它们进行排序,然后使用set()删除重复项: 第一种方法行不通。(1,1)是一个元组,但它将成为冻结集([1])。第二种方法是有效的。@DmitryRubanovich:(1,1)是身份置换,所以(1,1)和

在此问题上的任何帮助都将不胜感激

我有一个元组列表

a = [(1,2), (2,1), (1,3), (1,4), (4,1)]
我需要删除某种类型的重复项:(1,2)和(2,1)根据我的定义被认为是重复项。所需输出

a = [(1,2), (1,3), (1,4)]

提前感谢

您可以对它们进行排序,然后使用
set()删除重复项


第一种方法行不通。(1,1)是一个元组,但它将成为冻结集([1])。第二种方法是有效的。@DmitryRubanovich:
(1,1)
是身份置换,所以
(1,1)
(1,)
frozenset([1])
是等价的。他没有说元组本身就是置换。他只是说他想删除列表中其他元组的置换元组。删除(1,1)并用(1,)替换它不会这样做。@DmitryRubanovich:啊,你说得对。我将删除可能存在错误的代码。@Blender,如果需要维护对象类型,是否可以使用
list(在a中为l设置元组(排序(l))
>>> set(tuple(sorted(l)) for l in a)
    set([(1, 2), (1, 3), (1, 4)])