不按顺序查找元素吗"/>
python列表可以不按顺序查找元素吗
我遇到了一个奇怪的问题,我需要找到重复的项集合,这些集合的顺序无关紧要,但集合中是否存在重复值却很重要。例如,假设我有以下列表:lol = [
['red'],
['blue', 'orange'],
['orange', 'red'],
['red', 'orange'],
['red', 'red'],
['blue', 'orange', 'red'],
['red', 'orange', 'blue']
]
在我的案例中,唯一的收藏是:
^{pr2}$
我希望获得的信息是重复列表:dup_lol = [
['orange', 'red'],
['blue', 'orange', 'red']
]
我不关心哪个重复被报告为重复,即['orange', 'red']vs['red', 'orange'],只需报告重复组合。我第一次尝试使用一套冷冻装置:sofs = {frozenset(x) for x in lol}
但是,这种方法会被['red', 'red']列表绊倒,该列表被转换为['red']:set([frozenset(['red']),
frozenset(['orange', 'red']),
frozenset(['blue', 'orange', 'red']),
frozenset(['blue', 'orange'])])
另外,这并没有给我重复的,只有唯一的,而且我不能对列表列表运行差异。在
我确信我可以迭代父列表的暴力风格,但我觉得我错过了一些简单的东西。我几乎需要一个字典,其中键是有序列表,值是组合出现的次数,但是列表不能是字典键,这听起来很奇怪。在
更多推荐
python列表可以不按顺序查找元素吗
发布评论