字典中包含列表时的 Python KeyError
有人能告诉我为什么这个函数会出现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链接的列表。
第二个值的原因是我需要记录这个网址是否已经被爬取过。
顺便说一下,我使用的是Python 3.0。
非常感谢!
1 个回答
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.
在这种情况下,当你检查一个字典里是否有某个键,如果没有的话就要创建它,这时候要记得一定要去创建这个键。
for x in urlList:
if x in urlCounter:
urlCounter[x][1] += 1
else:
urlCounter[x] = [0,1]