Python:如何在一个集合中允许重复?
我在Python2.7中遇到了一个关于set的问题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',
>>> 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可能重复。我不知道。我还是个新手。非常感谢。