是否有一种数据类型/结构可以:容纳数字列表,可散列,无序并允许重复项

问题描述 投票:0回答:1

正在查看Difference between tuples and frozensets in Python并导致我遇到的问题是这个问题

基本上,我想要一个像元组一样但无序的数据类型,或者像freeset的数据类型,但允许重复(我从定义上意识到集合不能做到这一点,但我只是在解释我想要的):可散列,无序,允许重复。

我正在尝试制作一组​​此类数据来检查不同的值,例如(1,2,3)应该与(1,3,2)相同。我知道一个解决方案是使用列表,对其进行排序,然后使其成为一个元组,但是我必须执行多次,并且元组的长度可能会很长,所以我宁愿不必每次都进行排序。 >

编辑:

问题已略有改变。现在我有一个元组列表,例如:list_tuple = [(2,2,2),(2,2,2),(2,1,1)]

尽管问题并没有太大变化,但元组的顺序很重要,但元组的顺序却没有关系。因此,例如,这与上一个相同:[(2,2,2),(2,1,1),(2,2,2)]我将获得很多要添加到集合中的内容,这样我就可以计算出元组的不同列表的数量。因此,实际上我有一个相同的问题,即顺序无关紧要,并且允许重复,除了我们正在处理元组而不是整数。

我以为我应该对元组列表进行排序,然后将该列表设为元组,它可以放入集合中并正常工作。我知道我说过我不想排序,但是我看不到另一种方式。

谢谢

[正在查看Python中元组和frozensets之间的差异,并导致我遇到了这个问题。本质上,我想要的数据类型像元组,但是是无序的或类似...

python python-3.x data-structures set hashable
1个回答
0
投票
根据您的用例,您可以将Counter对象包装在MappingProxyType中,这为您提供对基础Counter的只读访问权。

-1
投票
我认为您正在寻找一套
© www.soinside.com 2019 - 2024. All rights reserved.