<p>我想知道一个词在twitter上出现的频率。我使用twitterapi从twitter下载了500条tweets,并制作了一个字典,其中以单词频率为键,并将与该频率对应的所有单词列为值。在</p>
<p>我一直认为字典总是无序的,所以我想用某种方式订购我的字典。但当我看的时候,它已经按从低到高的顺序排列了。这怎么可能?在</p>
<p>这是我使用的代码:</p>
<pre><code>def countWords(cleanDict):
reverseDict = {}
FreqDict = {}
count = 1
for tweet_id in cleanDict:
tweet = cleanDict[tweet_id]
wordList = tweet.split()
for word in wordList: # Creates a dictionary with words as keys and
# frequencies as values
if word in reverseDict:
reverseDict[word] += 1
else:
reverseDict[word] = 1
for word in reverseDict: # Creates a dictionary with frequencies as keys and
# lists of words as values
if reverseDict[word] in FreqDict:
temp = FreqDict[freqDict[word]]
temp.append(word)
FreqDict[freqDict[word]] = temp
else:
FreqDict[freqDict[word]] = [word]
return FreqDict
countWords(cleanDict) # cleanDict is a dictionary with tweet ID's as keys and
# tweets as values
</code></pre>
<p>别误会,我的字典已经订成这样真是太好了,但是怎么订呢?
这是我加字典的方式还是什么?在</p>
<p><strong>编辑</strong></p>
<p>我试着用整数作为键,用一些字符串作为值。我没有按特定的顺序添加键,但当我打印这本词典时,它又是按键排序的。
这是python经常做的吗?在</p>