【发布时间】:2017-11-09 07:35:03
【问题描述】:
question = []
question.append({'id' : 5, 'title' : 'First question', 'content' : 'Hi there'})
print("Question", question)
question.append({'username' : 'Ali'})
print("Question", question)
我想扩展一个列表,就好像我从 stratch 添加这些项目一样。打印语句的输出是:
问题 [{'id': 5, 'title': '第一个问题', 'content': 'Hi there'}, {'username': 'Ali'}]
我应该如何扩展列表以便打印语句输出:
问题 [{'id': 5, 'title': '第一个问题', 'content': 'Hi there', 'username': 'Ali'}]
更新: 在实际示例中,我尝试了三种方法。我收到了这些错误消息。
question[-1].update({'username' : 'Ali'})
AttributeError: 'dict' 对象属性 'update' 是只读的
(我之前也试过这个)
question["username"] = 'Ali'
TypeError: 列表索引必须是整数或切片,而不是 str
question[0]["username"] = 'Ali'
工作正常。
【问题讨论】:
-
如果将
question.append({'username' : 'Ali'})替换为question[-1].update({'username' : 'Ali'})会发生什么? -
那么为什么你需要使用一个只包含一个项目的列表呢?
-
@CristiFati 感谢它有效。 Sraw 实际上我想向 MongoDB 添加一些记录,但我已经缩短了问一个问题。
标签: python python-3.x