所以我遇到了一个问题,我不能在riot json文件中访问他们的关键。http://ddragon.leagueoflegends.com/cdn/11.16.1/data/en_US/item.json这是官方的riot链接,你可以在他们的riot api网站Items下找到。
如果你这样写:
for key, value in items['data'].items():
print(value)
返回所有值如果你这样写:
for key value in items['data'].items():
print(value['name'])
返回名称,除了'depth key',其他value[key]都是这样。我使用了double for循环,它最终返回了所有深度值:
for key,value in items['data'].items():
for k,v in value.items():
if k == 'depth':
print(v)
但是它并没有拯救我,因为我想写一些东西,如果'depth' == 3我想把项目'name'追加到列表中。我想,也许这是一个错误,因为这个文件中的第一项没有'depth'键,所以我写了一个异常,但它没有工作。
仅使用get()
方法获取特定键的值。然后您可以将其与期望值进行比较。对于您的情况,列表推导和简单的检查可以完成工作:
names_list = [v.get('name') for v in items['data'].values() if v.get('depth') == 3]