8
考虑从一个映射初始化一个基本的计数器:的Python - 创建一个从映射计数器(),非整数值
dict_1 = {'a': 1, 'b': 2, 'c': 3}
count_1 = Counter(dict_1)
print count_1
>>> Counter({'c': 3, 'b': 2, 'a': 1})
一切才有意义。但Counter也允许我从包含键和值的非整数字典中进行初始化。例如,
dict_2 = {'a': 'apple', 'b': 'banana', 'c': 'cheese'}
count_2 = Counter(dict_2)
print count_2
>>> Counter({'c': 'cheese', 'b': 'banana', 'a': 'apple'})
上面写的代码是Python 2.7,但我也在Python 3.5上测试了它,并得到了相同的结果。这似乎违反了计数器的最基本规则,其中“元素被存储为字典键并将其计数存储为字典值”。计数器是否应允许非整数值?它不应该抛出一个错误或什么?什么解释了这种行为?
谢谢!这非常有帮助。 – GHH
@GHH如果有帮助,你可以考虑接受答案 –