如何遍历列表的元素?

时间:2014-05-07 21:53:07

标签: python json

这是python领域的一个新手,所以如果这个问题看起来有点过于简单,我很抱歉,但我似乎无法找到我遇到问题的答案。

最终我正在构建一个嵌套的json,并且在json中是一个列表 例如:

d = {"Names": [{"FirstName": "John", "LastName": "Smith"}]}

第一次说我得到了一个我要插入我的列表的更新:

update = {"FirstName": "Mary", "LastName": "Poppins"}

我需要更新列表并添加一个新条目:

d["Names"][]=update

我的问题是应该在“[]”中将它添加到列表的下一个元素而不指定特定的数字?

我希望它看起来像这样:

d = {"Names": [{"FirstName": "John", "LastName": "Smith"},{"FirstName": "Mary", "LastName": "Poppins"} ]}

我不知道怎么做而没有明确说明数字(我已经知道该怎么做)。我是以错误的方式解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

评论中张贴了Daniel

d = {"Names": [{"FirstName": "John", "LastName": "Smith"}]}

这是包含一个键{}的字典"Names""Names"的值是包含一个字典的列表。

keys       values
"Names"    [{"FirstName": "John", "LastName":"Smith"}]

如果您想将一个元素添加到d["Names"]中包含的列表中,请将其视为列表!

update = {"FirstName": "Mary", "LastName": "Poppins"}
d["Names"].append(update)

现在看起来像这样:

keys       values
"Names"    [{"FirstName": "John", "LastName":"Smith"},
            {"FirstName": "Mary", "LastName":"Poppins"}]

所以你可以这样做:

for name in d["Names"]:
    # d["Names"] is the [{...}, {...}]
    # name is each element, so just each dictionary in turn
    print(name["FirstName"], name["LastName"])