Python 中的计数器
Counter in Python
有没有办法收集计数器中出现次数的值?
示例:
假设我有一个列表:
list = ['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'd', 'd']
当我做计数器时:
Counterlist = Counter(list)
我会得到:
Counter({'b': 3, 'a': 3, 'c': 3, 'd': 2})
然后我可以 select 让我们说 a 并得到 3:
Counterlist['a'] = 3
但是我如何 select 出现的数字“3”?
类似于:
Counterlist[3] = ['b', 'a', 'c']
这可能吗?
你可以这样写
import collections
my_data = ['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'd', 'd']
result = collections.defaultdict(list)
for k, v in collections.Counter(my_data).items():
result[v].append(k)
然后访问result[3]
以获取该计数的字符。
有没有办法收集计数器中出现次数的值?
示例:
假设我有一个列表:
list = ['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'd', 'd']
当我做计数器时:
Counterlist = Counter(list)
我会得到:
Counter({'b': 3, 'a': 3, 'c': 3, 'd': 2})
然后我可以 select 让我们说 a 并得到 3:
Counterlist['a'] = 3
但是我如何 select 出现的数字“3”?
类似于:
Counterlist[3] = ['b', 'a', 'c']
这可能吗?
你可以这样写
import collections
my_data = ['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'd', 'd']
result = collections.defaultdict(list)
for k, v in collections.Counter(my_data).items():
result[v].append(k)
然后访问result[3]
以获取该计数的字符。