访问列表中的字典

时间:2017-07-08 14:48:02

标签: list python-3.x dictionary

我正在阅读Python速成课程书,我被困在某事上。我想迭代一个列表中的字典来打印字典中的值。我有3个dictonaries放入列表中,我喜欢迭代并打印出来自dictonaries的信息。这甚至可能吗?

2 个答案:

答案 0 :(得分:1)

这样的事情应该可以胜任,其中dic = dictionary:

for your_dic in your_list:
    for key in your_dic:
        print(your_dic[key])

如果您只想访问一个特定字典,请执行以下操作:

temp_dict = your_list[0] # assign 0th element of the list to temp_dict
# Iterate over all keys in your dictionary and print them
for key in temp_dict:
    print(temp_dict[key])

请记住,字典不是有序的,因此迭代所有键并不总是会导致相同的打印语句顺序

答案 1 :(得分:0)

如果你正在进行大量的字典列表操作,那么这个名为PLOD的专用库就有了。它可以在PyPI上找到。使用示例:

>>> lod = [{'a': 1, 'b': 2}, {'a': 9, 'c': 3}]
>>> from PLOD import PLOD
>>> print PLOD(lod).returnString()
[
    {a: 1, b:    2, c: None},
    {a: 9, b: None, c:    3}
]
>>> print PLOD(lod).returnString(honorMissing=True)
[
    {a: 1, b: 2      },
    {a: 9,       c: 3}
]

文档位于https://github.com/MakerReduxCorp/PLOD/wiki

不幸的是,该库尚未升级到Python3(我正在帮助解决这个问题。)