Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要关于在Python中构建令牌字典的最佳结构的建议吗_Python_Data Structures_Python 2.7 - Fatal编程技术网

需要关于在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中,您可以使用:

我是python新手,希望能在这方面得到建议

我希望用python创建一个令牌字典。首先,让我简要描述一下我需要什么样的功能

  • 假设每个现有记录都应该是{word,type,count}。例如snake,NN,10
  • 每当新记录{word,type}出现时,它都会检查字典是否存在。如果找到,则计数+=1。否则,添加计数为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)]
    
    您可以使用(在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)]