在Python中 - 我有一个集合列表,例如
我希望您可以按索引字典序对它们进行排序,如果可能的话,不需要将其转换为元组。如果它们是元组,我可以简单地使用以下代码:
members = [set(1,2,3), set(2,4,1), set(1,3,2), set(2,1,3)]
我希望您可以按索引字典序对它们进行排序,如果可能的话,不需要将其转换为元组。如果它们是元组,我可以简单地使用以下代码:
members.sort()
由于没有办法直接通过索引访问集合,例如使用iter(members[0]).next()
,因此我无法使用sort(key=)
语法。也许我错过了一些简单的东西,可以使该语法适用?
如果可能的话,我的目标是避免将set
转换为tuple
再转换回set
。
编辑:考虑到集合的顺序不固定,我认为这是一个无意义的问题。下面的大多数答案都涉及对集合中项目的排序。那么对列表中的集合进行排序呢?我提出这个问题,知道排序只是一种潜在的实现方式,因为集合内部的顺序不能保证。
iter(members[0]).next()
也没有意义,因为它可以返回任何内容。 - Ashwini Chaudharyiter(set(1,2,3)).next()
不能保证返回1,但根据集合的实现方式还是有很大可能性返回1。 - Cruncher