如何修复“AttributeError:‘str’对象没有属性‘append’”

新手上路,请多包涵
>>> myList[1]
'from form'
>>> myList[1].append(s)

Traceback (most recent call last):
  File "<pyshell#144>", line 1, in <module>
    myList[1].append(s)
AttributeError: 'str' object has no attribute 'append'
>>>

为什么 myList[1] 被认为是 'str' 对象? mList[1] 返回列表中的第一项 'from form' 但我无法附加到列表中的第一项 myList

我需要一份清单清单;所以“来自表格”应该是一个列表。我这样做了:

 >>> myList
[1, 'from form', [1, 2, 't']]
>>> s = myList[1]
>>> s
'from form'
>>> s = [myList[1]]
>>> s
['from form']
>>> myList[1] = s
>>> myList
[1, ['from form'], [1, 2, 't']]
>>>

原文由 Zeynel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 552
2 个回答

myList[1]myList 的一个元素,类型为字符串。

myList[1] 是一个字符串,你不能附加到它。 myList 是一个列表,您应该一直附加到它。

 >>> myList = [1, 'from form', [1,2]]
>>> myList[1]
'from form'
>>> myList[2]
[1, 2]
>>> myList[2].append('t')
>>> myList
[1, 'from form', [1, 2, 't']]
>>> myList[1].append('t')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'append'
>>>

原文由 pyfunc 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果要将值附加到 myList ,请使用 myList.append(s)

字符串是不可变的——您不能附加到它们。

原文由 bstpierre 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题