如何通过for循环构建Python字典 实现通过uid查询对应用户名
问题原因
你当前的代码存在3个错误:
- 多套了一层不必要的
data字典结构,不符合你直接用userNames[uid]查询的需求 - 键值赋值逻辑错误,你把uid本身作为了uid键对应的值,没有绑定对应用户名
- 代码中出现了未定义的
userList变量,运行会直接抛出NameError
正确实现代码
# 初始化空字典 userNames = {} for each in query_results: uid = each[0] username = each[4] # 直接以uid为键,用户名作为值存入字典 userNames[uid] = username
效果验证
完成赋值后,调用userNames[12]即可直接返回对应的用户名StanTheMan。
如果你确实需要保留data嵌套结构,查询时要写为userNames["data"][12],对应实现代码如下:
userNames = {"data": {}} for each in query_results: uid = each[0] username = each[4] userNames["data"][uid] = username
内容的提问来源于stack exchange,提问作者sudolawyer
相关产品推荐
相关产品推荐

