【发布时间】:2020-01-30 16:38:38
【问题描述】:
我对 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 = next(data.keys()) -
谢谢!试过了,但仍然发生 TypeError:'dict_keys' 对象不是迭代器。尽管我尝试使用 key = list(data.keys()) 并且它有效。 next 和 list 有什么区别?