有谁可以告诉我为什么该函数会给我一个KeyError?
def countLinks(url):
urlCounter = {"dummy":[0,0]}
urlList = getLinks(url)
for x in urlList:
if x in urlCounter:
urlCounter[x][1] += 1
else:
urlCounter[x][1] = 1
return urlCounter
getLinks只返回一个包含HTML链接的列表。
第二个值的原因是我需要跟踪此网址是否已被抓取。
使用BTW Python 3.0。
提前很多
答案 0 :(得分:2)
for x in urlList:
if x in urlCounter:
urlCounter[x][1] += 1
else:
urlCounter[x][1] = 1 # you need to create the dict entry here too.
在这种情况下,当检查dict是否有密钥并创建它时,如果它不存在则记住创建密钥很重要。
for x in urlList:
if x in urlCounter:
urlCounter[x][1] += 1
else:
urlCounter[x] = [0,1]