开发者社区> 问答> 正文

'str' object has no attribute 'get'

已解决

python代码如下:

 def init(data):
    data["last"]={}
    data["first"]={}
storage={}
init(storage)
storage['first']='Chen'
storage['last']='LinHua'
def lookup(data,label,name):
    return data[label].get(name)
print(storage)
lookup(storage,'first','Chen')

运行结果显示:'str' object has no attribute 'get'
求大神告诉我如何修改代码,想通过lookup()函数找到字典中的键

展开
收起
WM云建站 2016-02-17 21:54:10 9306 0
3 条回答
写回答
取消 提交回答
  • 阿里云论坛版主,QQ 1978638808
    采纳回答

    你的data[label]就是等同get的方式来通过key查询字典 后面再get name就是多余的了

    2019-07-17 18:29:13
    赞同 展开评论 打赏
  • def init(data):

    data["last"]={}
    data["first"]={}

    storage={}
    init(storage)
    storage['first']='Chen'
    storage['last']='LinHua'
    def lookup(data,label):

    return data[label]

    print(storage)
    lookup(storage,'first')

    2019-07-17 18:29:13
    赞同 展开评论 打赏
  • 使用了[]取出,自动会调用__getattr__()

    2019-07-17 18:29:13
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载