我基本上试图遍历一个字典并打印出从最大值到最低值的键/值.我一直在搜索这个网站,很多人都在使用lambda,但我不确定它是如何工作的所以我现在正试图避免它.
dictIterator = iter(sorted(bigramDict.iteritems()))
for ngram, value in dictIterator:
print("There are " + str(value) + " " + ngram)
Run Code Online (Sandbox Code Playgroud)
查看上面的代码,我假设它会生成一个迭代器,它按从大到小的顺序返回键/值对,但事实并非如此.
任何人都可以看到问题是什么?或另一种方法吗?
我是Python的新手,我确信有一种更简单的方法来完成我需要的东西但是这里有.
我正在尝试创建一个程序,该程序对所调用的字母列表执行频率分析,inputList并重新检索2个字母对并将它们添加到另一个字典中.所以我需要它用所有2个字母对填充第二个dictonary.
我有一个粗略的想法,我怎么能做到这一点,但我有点坚持使用语法来使它工作.
for bigram in inputList:
bigramDict[str(bigram + bigram+1)] = 1
Run Code Online (Sandbox Code Playgroud)
bigram + 1是下一次迭代中的字母
作为一个例子,如果我要在文本中使用"stackoverflow",inputList我需要首先将字母"st"作为键,将1作为值.在第二次迭代"ta"作为关键等等.我遇到的问题是在不转移到下一次迭代的情况下,在下一次迭代中重新获取变量的值.
我希望我能清楚地解释自己.谢谢你的帮助