我正在尝试迭代dict中的下面的dict。 user_genre_score是dict里面的dict。它是使用
创建的编辑:
genre_list=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
lang_list=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
user_genre_score = collections.defaultdict(lambda: collections.defaultdict(int))
修改
for track in tracks_played:
user_genre_score[track['user_id']][track['genre']]=int(user_genre_score[track['user_id']][track['genre']]) + 1
user_lang_score[track['user_id']][track['lang']]=int(user_lang_score[track['user_id']][track['lang']]) + 1
更新后的user_genre_score值为:
defaultdict(<function <lambda> at 0x7fb1eb36e140>, {38913L: defaultdict(<type 'int'>, {10L: 1}), 38949L: defaultdict(<type 'int'>, {8L: 1, 10L: 1, 22L: 1}), 38985L: defaultdict(<type 'int'>, {8L: 1}), 19309L: defaultdict(<type 'int'>, {9L: 1, 10L: 2, 11L: 3}), 38959L: defaultdict(<type 'int'>, {11L: 1}), 19763L: defaultdict(<type 'int'>, {13L: 1}), 38708L: defaultdict(<type 'int'>, {2L: 1, 11L: 1}), 38902L: defaultdict(<type 'int'>, {3L: 1, 22L: 10}), 38905L: defaultdict(<type 'int'>, {4L: 2}), 23695L: defaultdict(<type 'int'>, {6L: 17}), 13502L: defaultdict(<type 'int'>, {5L: 1, 22L: 4})})
现在我正在尝试迭代user_genre_score。
for k,v in user_genre_score.iteritems():
print k
但是低于错误:
'long' object is not iterable
任何帮助将不胜感激。