需要关于在Python中构建令牌字典的最佳结构的建议吗
我是python新手,希望能在这方面得到建议 我希望用python创建一个令牌字典。首先,让我简要描述一下我需要什么样的功能需要关于在Python中构建令牌字典的最佳结构的建议吗,python,data-structures,python-2.7,Python,Data Structures,Python 2.7,我是python新手,希望能在这方面得到建议 我希望用python创建一个令牌字典。首先,让我简要描述一下我需要什么样的功能 假设每个现有记录都应该是{word,type,count}。例如snake,NN,10 每当新记录{word,type}出现时,它都会检查字典是否存在。如果找到,则计数+=1。否则,添加计数为1的新记录 字典能够按最高计数排序 有没有关于最佳结构的建议,并给我举个例子 提前谢谢 您已经了解了。您已经了解了。您可以使用(在py2.7中介绍): 在py2.6中,您可以使用:
:从集合导入defaultdict
在[59]中:strs=“aaabbc”
In[61]:dic=defaultdict(int)
In[62]:对于STR中的x:
..:dic[x]+=1
....:
在[63]中:dic
Out[63]:defaultdict(,{'a':3,'c':1,'b':2})
在[64]中:从运算符导入itemgetter
在[66]中:已排序(dic.items(),reverse=True,key=itemgetter(1))
Out[66]:[('a',3),('b',2),('c',1)]
您可以使用(在py2.7中介绍):
在py2.6中,您可以使用:
[58]中的:从集合导入defaultdict
在[59]中:strs=“aaabbc”
In[61]:dic=defaultdict(int)
In[62]:对于STR中的x:
..:dic[x]+=1
....:
在[63]中:dic
Out[63]:defaultdict(,{'a':3,'c':1,'b':2})
在[64]中:从运算符导入itemgetter
在[66]中:已排序(dic.items(),reverse=True,key=itemgetter(1))
Out[66]:[('a',3),('b',2),('c',1)]
使用集合。计数器
。使用集合。计数器
。
In [52]: from collections import Counter
In [53]: c=Counter("aaabbc")
In [54]: c
Out[54]: Counter({'a': 3, 'b': 2, 'c': 1})
In [55]: c.most_common()
Out[55]: [('a', 3), ('b', 2), ('c', 1)]
In [58]: from collections import defaultdict
In [59]: strs="aaabbc"
In [61]: dic=defaultdict(int)
In [62]: for x in strs:
....: dic[x]+=1
....:
In [63]: dic
Out[63]: defaultdict(<type 'int'>, {'a': 3, 'c': 1, 'b': 2})
In [64]: from operator import itemgetter
In [66]: sorted(dic.items(),reverse=True,key=itemgetter(1))
Out[66]: [('a', 3), ('b', 2), ('c', 1)]