Python中的命名字典
我查了一下怎么在Python中使用PHP的命名数组,发现了一个代码示例,他们说可以用字典来实现。
shows = [
{"id": 1, "name": "Sesaeme Street"},
{"id": 2, "name": "Dora The Explorer"},
]
来源:从这里获取的代码片段
参考资料:Python参考文档
但是我想知道怎么通过循环添加一个新值?参考资料里只展示了怎么通过简单的方式添加单个值,比如用['key']="value",但我不知道怎么把它们连接起来。有没有人能告诉我怎么通过循环把值添加到这个字典里?
例如:
for message in messages:
myvariable inside having two field
- Message
- Phone number
更新 我想知道怎么把它们循环出来,显示在把列表放进字典之后?谢谢!
3 个回答
0
简单来说,你可以使用(列表推导式)
message_informations = [{"message": m.message, "phone": m.phone} for m in messages]
如果你想给每条消息信息分配一个ID,并把它们存储在一个字典里(字典推导式)
{_id: {"message": m.message, "phone": m.phone} for _id, m in enumerate(messages)}
1
实际上,你的例子是一个字典的列表,用PHP的说法就是一个关联数组的数组。
如果你想添加一个项目,可以这样做:
shows.append({ "id" : 3, "name" : "House M.D."})
[]
表示一个列表
,或者说是一个数组。
{}
表示一个字典
,或者说是一个关联数组。
3
你应该把字典放进一个数组里,像这样:
friends = []
for message in messages:
dict = {"message" : message.message, "phone" : message.phone }
friends.append(dict)
如果想要再循环一次,可以这样做:
for friend in friends:
print "%s - %s" % (friend["message"], friend["phone"])