Python:如何在一个集合中允许重复?

Python:如何在一个集合中允许重复?,python,set,duplicates,Python,Set,Duplicates,我在Python2.7中遇到了一个关于set的问题 >>> from collections import Counter >>> c = Counter(raw_input("Type letters: ")) >>> c Counter({'o': 2, 'a': 1, 'r': 1, 'b': 1, 'f': 1}) >>> sorted(c.elements()) ['a', 'b', 'f', 'o', 'o',

我在Python2.7中遇到了一个关于set的问题

>>> from collections import Counter
>>> c = Counter(raw_input("Type letters: "))
>>> c
Counter({'o': 2, 'a': 1, 'r': 1, 'b': 1, 'f': 1})
>>> sorted(c.elements())
['a', 'b', 'f', 'o', 'o', 'r']
下面是相应的示例代码块:

letters = set(str(raw_input("Type letters: ")))
正如您所看到的,要点是写一些字母来指定给“字母”,以便以后使用。但如果我输入“aaabbcdd”,则“字母”的输出将返回

我的问题是如何编写代码,以便输出将允许如下重复:

set(['a','a','a','b','b','c','d','d'])

set
不存储重复项,这就是为什么它被称为a。您应该使用普通的
str
列表
,必要时对其进行排序

>>> sorted(raw_input("Type letters: "))
Type letters: foobar
['a', 'b', 'f', 'o', 'o', 'r']
另一种选择(但对于您的示例来说过于苛刻)是multiset容器,可从Python2.7获得

>>> from collections import Counter
>>> c = Counter(raw_input("Type letters: "))
>>> c
Counter({'o': 2, 'a': 1, 'r': 1, 'b': 1, 'f': 1})
>>> sorted(c.elements())
['a', 'b', 'f', 'o', 'o', 'r']

根据定义,集合不允许重复。 使用一个简单的列表

就你而言:

letters = list(str(raw_input("Type letters: ")))
print sorted(letters)

集合是只包含唯一元素的数据结构。如果您想要重复,请使用不同的数据结构(而不是集合)。例如
letters=list(原始输入(“键入字母”))
?-1:这个问题似乎忽略了常见的数学定义以及Python语言。Oh可能重复。我不知道。我还是个新手。非常感谢。