数据龙项目,keyError

Data Dragon items, keyError

所以我 运行 遇到了一个问题,我无法访问他们在 riot json 文件中键入的内容。 http://ddragon.leagueoflegends.com/cdn/11.16.1/data/en_US/item.json 这是官方的 riot link 你可以在他们的 riot api 网站的 Items 下找到它。

如果你这样写:

for key, value in items['data'].items():
    print(value)

它返回所有值 如果你这样写:

for key value in items['data'].items():
    print(value['name'])

它返回名称,除了 'depth key' 之外的所有其他值[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]