【问题标题】:Is there a way to make a multiset?有没有办法制作多组?
【发布时间】:2023-03-15 09:52:02
【问题描述】:

有没有办法在 python 中创建一个多重集?我这里有我的一套: {'a', 'u', 'i', 'o', 'e'} 但我想要重复的字符,但仍然没有组织。谢谢

【问题讨论】:

标签: python


【解决方案1】:

当然,你可以使用:

from multiset import *
vowels_set = Multiset('auioe')

“多重集类似于内置集,但它允许一个元素多次出现。它是一个无序集合元素,必须是可散列的就像在集合中一样。它支持与集合相同的方法和操作,例如成员资格测试、联合、交集和(对称)差异。多重集可以与这些操作的常规集合结合使用。 - https://multiset.readthedocs.io/en/stable/

【讨论】:

    【解决方案2】:

    听起来你想要一个列表:

    vowels = ['a','u','a','i','o','e']
    

    列表可以包含重复的字符并且是无序的。 This is the doc page for lists如果你想了解更多

    【讨论】:

    • 为什么这个被否决了,一个列表肯定会满足要求吗?
    • “列表无组织”是什么意思? (不是downvoter)。
    • 但它是有序的。
    • 你可以有一个不按顺序排列的整数列表。 [1,16,3].
    • 这不是无序的意思。这意味着整个集合是无序的,这对于列表来说是不正确的。一旦您以一种顺序定义了列表,该顺序就完好无损。
    【解决方案3】:

    这在 python 中是不可能的,因为 python 中的集合根据定义是唯一的。

    但是,您可以安装外部包来实现多重集:

    pip install multiset
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-12
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多