Python-在DICT上循环并获得回溯错误
我用BeautifulSoup创建了一个长度为42的DICT。我试图从标签中提取文本,我知道最后的一些文本是空白的。当我输入player[42]。text时,它从REPL返回一个空白,但当我在循环中调用它时,我得到:Python-在DICT上循环并获得回溯错误,python,Python,我用BeautifulSoup创建了一个长度为42的DICT。我试图从标签中提取文本,我知道最后的一些文本是空白的。当我输入player[42]。text时,它从REPL返回一个空白,但当我在循环中调用它时,我得到: Traceback (most recent call last): File "<stdin>", line 2, in <module> File "/Users/Brad/anaconda/lib/python3.6/site-packages
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "/Users/Brad/anaconda/lib/python3.6/site-packages/bs4/element.py", line 997, in __getitem__
return self.attrs[key]
KeyError: 0
我查看了Google和Stackoverflow,找到了一些If语句可以尝试,但仍然不走运。您不需要指定索引<代码>播放器已经是单个对象,因此您可以执行以下操作:
name = player.text.strip()
print(name)
您不需要指定索引<代码>播放器已经是单个对象,因此您可以执行以下操作:
name = player.text.strip()
print(name)
for循环依次迭代
player
中分配给player
每个项目的项目。当尝试使用player[0]
BeautifulSoup进行索引时,使用属性名称0
将其视为属性查找。播放器标记中没有名为0
的属性,因此查找失败,并引发KeyError
您应该这样循环:
for player in players:
name = player.text.strip()
print(name)
for循环依次迭代
player
中分配给player
每个项目的项目。当尝试使用player[0]
BeautifulSoup进行索引时,使用属性名称0
将其视为属性查找。播放器标记中没有名为0
的属性,因此查找失败,并引发KeyError
您应该这样循环:
for player in players:
name = player.text.strip()
print(name)
谢谢这非常有效。谢谢你的帮助,谢谢!这非常有效。感谢您的帮助。感谢您在解释中提供的详细信息。当我看到它以几种不同的方式解释时,真的帮助了我的理解。感谢解释中的细节。当我看到它以几种不同的方式被解释时,真的帮助了我的理解。