[[a,b],[b,a],[c,d],[d,c]]等第二对删除

时间:2020-05-20 09:22:19

标签: python

如果我有一个列表,例如

[[a,b], [b,a], [c,d], [d,c]]

但是在字母对列表不相邻的情况下,如何遍历列表并仅以字母对之一结束?

1 个答案:

答案 0 :(得分:1)

如果您不关心订单,那么最简单的方法是使用setsfrozensets

lst = [[a,b], [b,a], [c,d], [d,c]] 
result =  [list(x) for x in {frozenset(t) for t in lst}]

# result output: [[a,b], [c,d]]

frozenset([a,b]) == frozenset([b,a])开始,集合理解{frozenset(t) for t in lst}将仅对每对包含一次。外部列表推导会将冻结集的集合转换回列表列表。