Python dict中的迭代器
下面是一个简单的嵌套字典:Python dict中的迭代器,python,dictionary,Python,Dictionary,下面是一个简单的嵌套字典: wordFrequency = {'bit':{1:3,2:4,3:19,4:0},'red':{1:0,2:0,3:15,4:0},'dog':{1:3,2:0,3:4,4:5}} 我试图找出这两段代码的不同之处: for word, innerDictionary in wordFrequency.iteritems(): for fileNum, appearances in innerDictionary.iteritmes(): 及 我知道第一个
wordFrequency = {'bit':{1:3,2:4,3:19,4:0},'red':{1:0,2:0,3:15,4:0},'dog':{1:3,2:0,3:4,4:5}}
我试图找出这两段代码的不同之处:
for word, innerDictionary in wordFrequency.iteritems():
for fileNum, appearances in innerDictionary.iteritmes():
及
我知道第一个允许我将内部字典的键和值分别分配给fileNum
和外观
但是,我不清楚第二段代码是否与此相同?以下命令:
for fileNum, appearances in wordFrequency.get(word, {}).iteritems():
将只给您一个值(嵌套字典),但如果您希望它具有与前面代码相同的效果,因为get()
的函数第一个参数必须是字典的键,您需要获取键并将代码放入循环中:
for word in wordFrequency.keys() :
for fileNum, appearances in wordFrequency.get(word, {}).iteritems():
第一个版本迭代
wordFrequency
的所有值,而后者只迭代一个值(word
的值)
for word in wordFrequency.keys() :
for fileNum, appearances in wordFrequency.get(word, {}).iteritems():