python - 如何修复“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 中编写这部分的方式,但我不知道如何使它工作。
解决方案
好吧,我刚刚让它工作:key = data.keys()[0]
我尝试了而不是key = list(data.keys())[0]
,它似乎正在工作。
仍然不确定这是否是正确的方法。我会接受任何建议,建议,帮助。非常感谢!
推荐阅读
- c - 强制转换可以比标记的联合更高效吗?
- javascript - 如何使用变量设置while循环
- python - 用于生成 NumPy 矩阵的矢量化解决方案
- coq - RelationClasses 与 CRelationClasses
- python-2.7 - ImportError:无法导入名称 cygrpc
- php - 为什么组合键 Ctrl-K Ctrl-F 不适用于 php 可视化代码?
- php - 如何简化此功能并使其对 n 级深度具有通用性?
- html - 如何让制表符表格彼此相邻显示?
- python - 在 Pandas 中为两列和单个数据行创建 DataFrame
- python-3.x - 附加到数组的问题