首页 > 解决方案 > 如何修复“TypeError” - 'dict_keys' 对象不可下标?

问题描述

我对 Python 完全陌生,我只是在练习和“复制”一些 github 代码。这样做时,我意识到我使用的是最新版本的 Python,而视频中的那个人使用的是 Python 2.7,所以他使用的代码与我的不兼容。请帮助我如何重写代码。

def add_friend(self,friend_id):
    check_req = requests.get('https://gift-f06e4.firebaseio.com/.json?orderBy="my_friend_id"&equalTo=' + friend_id)

    data = check_req.json()
    print(check_req.ok)
    print(check_req.json())
    if data == {}:
        self.root.ids['add_friend_screen'].ids['add_friend_label'].text = "Invalid friend ID"

    else:
        key = data.keys()[0]
        new_friend_id = data[key]['my_friend_id']
        print('New friend id is', new_friend_id)

问题出现在这一行:

key = data.keys()[0]

我知道这不是我应该在 Python 3 中编写这部分的方式,但我不知道如何使它工作。

标签: pythontypeerror

解决方案


好吧,我刚刚让它工作:key = data.keys()[0]我尝试了而不是key = list(data.keys())[0],它似乎正在工作。

仍然不确定这是否是正确的方法。我会接受任何建议,建议,帮助。非常感谢!


推荐阅读