注册 登录
编程论坛 Python论坛

实在不知道第11行代码为什么出错,请大家帮帮我.

shenggeyanwu 发布于 2019-08-17 00:18, 1611 次点击
storage={}
storage['first']={}
storage['middle']={}
storage['last']={}
me='Magnus Lie Hetland'
storage['first']['Magnus']=me
storage['middle']['Lie']=me
storage['last']['Hetland']=me
my_sister='Anne Lie Hetland'
storage['first'].setdefault('Anne',[]).append(my_sister)
storage['middle'].setdefault('Lie',[]).append(my_sister)
storage['last'].setdefault('Hetland',[]).append(my_sister)
print(storage)

错误如下:
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\storage.py", line 11, in <module>
    storage['middle'].setdefault('Lie',[]).append(my_sister)
AttributeError: 'str' object has no attribute 'append'

[此贴子已经被作者于2019-8-17 00:24编辑过]

2 回复
#2
南山剑客2019-08-17 00:22
In [6]: storage['middle'].setdefault('Lie',[])
Out[6]: 'Magnus Lie Hetland'
#3
南山剑客2019-08-17 00:26
https://doc.bccnsoft.com/docs/python-3.7.3-docs-html-cn/library/stdtypes.html?highlight=setdefault#dict.setdefault


setdefault(key[, default])

    如果字典存在键 key ,返回它的值。如果不存在,插入值为 default 的键 key ,并返回 default 。 default 默认为 None。
1