【发布时间】:2014-04-08 14:56:52
【问题描述】:
当我分配line_to_be_added 变量时,我得到一个KeyError。可能是什么原因?
for key in PL_HASH_ON_FIRST_TWO_PARTS.keys():
total_count=0
print key, '\n'
for pl_name in sorted(PL_HASH_ON_FIRST_TWO_PARTS[key]):
print pl_name,'\n'
count = PL_DICT_COUNT[pl_name]
plTable = plTable + "<tr><td>%s</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td></tr>"%(pl_name, PL_NAME_DICT[pl_name][last_six_months[7]], PL_NAME_DICT[pl_name][last_six_months[6]], PL_NAME_DICT[pl_name][last_six_months[5]], PL_NAME_DICT[pl_name][last_six_months[4]], PL_NAME_DICT[pl_name][last_six_months[3]], PL_NAME_DICT[pl_name][last_six_months[2]], PL_NAME_DICT[pl_name][last_six_months[1]], PL_NAME_DICT[pl_name][last_six_months[0]], count)
if key in count_bag_wise:
for i in range(0,7):
print last_six_months[i],'\n'
count_bag_wise[key][last_six_months[i]]+=PL_NAME_DICT[pl_name][last_six_months[i]]
else:
count_bag_wise[key]=dict()
for i in range(0,7):
count_bag_wise[key][last_six_months[i]]=0
count_bag_wise[key][last_six_months[i]]+=PL_NAME_DICT[pl_name][last_six_months[i]]
TOTAL_COUNT += count
total_count += count
line_to_be_added="<tr><td>%s</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%d</td></tr>"%(pl_name.split('.')[0]+'.'+pl_name.split('.')[1]+'.*', count_bag_wise[key][last_six_months[7]],count_bag_wise[key][last_six_months[6]], count_bag_wise[key][last_six_months[5]],count_bag_wise[key][last_six_months[4]],count_bag_wise[key][last_six_months[3]], count_bag_wise[key][last_six_months[2]],count_bag_wise[key][last_six_months[1]],count_bag_wise[key][last_six_months[0]], total_count)
print line_to_be_added
plTable = plTable +line_to_be_added
【问题讨论】:
-
ALCAPS 标题收到为大喊大叫。请不要那样做。
-
请同时修正缩进:每级四个空格,请不要使用制表符。
-
对于触发异常的
key的特定值,PL_HASH_ON_FIRST_TWO_PARTS包含什么?很可能这是一个空列表,ergocount_bag_wise[key]永远不会设置。
标签: python dictionary hashmap