filter out “reversed” duplicated tuples from a list in Python

后端 未结 4 1416
滥情空心
滥情空心 2021-01-15 14:48

I\'ve a list like this:

[(\'192.168.1.100\', \'192.168.1.101\', \'A\'), (\'192.168.1.101\', \'192.168.1.100\', \'A\'), 
 (\'192.168.1.103\', \'192.168.1.101\         


        
4条回答
  •  孤独总比滥情好
    2021-01-15 15:12

    >>> L=[('192.168.1.100', '192.168.1.101', 'A'), ('192.168.1.101', '192.168.1.100', 'A'), 
    ...  ('192.168.1.103', '192.168.1.101', 'B'), ('192.168.1.104', '192.168.1.100', 'C')]
    >>> set(tuple(sorted((a,b))+[c]) for a,b,c in L)
    set([('192.168.1.100', '192.168.1.104', 'C'), ('192.168.1.100', '192.168.1.101', 'A'), ('192.168.1.101', '192.168.1.103', 'B')])
    

提交回复
热议问题