mar*_*lon 3 python sorting list set
a = [['a', 'b'], ['b'], ['b', 'a']]
Run Code Online (Sandbox Code Playgroud)
因为第一个和第三个元素是相同的,如果将它们转换为集合,我想对列表 'a' 进行排序,以便具有相同集合值的任何两个元素彼此相邻。对于上面的示例,排序结果将是:
a = [['a', 'b'], ['b', 'a'], ['b']]
Run Code Online (Sandbox Code Playgroud)
或者
a = [['b'], ['a', 'b'], ['b', 'a']]
Run Code Online (Sandbox Code Playgroud)
你可以list(set(x))用作你的钥匙。由于这强加的顺序有点随意,您可以添加sorted到组合中:
a = [['a', 'b'], ['b'], ['b', 'a']]
a.sort(key=lambda x: sorted(set(x)))
Run Code Online (Sandbox Code Playgroud)
请注意,key=sorted由于处理重复元素的方式,这与 using 不同。