如何根据列表中的相同设置值对列表列表进行排序?

a = [['a', 'b'], ['b'], ['b', 'a']]

因为第一个和第三个元素是相同的,如果将它们转换为集合,我想对列表 'a' 进行排序,以便具有相同集合值的任何两个元素彼此相邻。对于上面的示例,排序结果将是:

a = [['a', 'b'], ['b', 'a'], ['b']]

或者

a = [['b'], ['a', 'b'], ['b', 'a']]

回答

你可以list(set(x))用作你的钥匙。由于这强加的顺序有点随意,您可以添加sorted到组合中:

a = [['a', 'b'], ['b'], ['b', 'a']]
a.sort(key=lambda x: sorted(set(x)))

请注意,key=sorted由于处理重复元素的方式,这与 using 不同。


以上是如何根据列表中的相同设置值对列表列表进行排序?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>