简体   繁体   English

循环用于打印字典字典

[英]loop for to print a dictionary of dictionaries

I'd like to find a way to print a list of dictionnaries line by line, so that the result be clear and easy to read the list is like this. 我想找到一种逐行打印字典列表的方法,这样结果清晰易读,列表就像这样。


myList = {'1':{'name':'x',age:'18'},'2':{'name':'y',age:'19'},'3':{'name':'z',age:'20'}...}

and the result should be like this: 结果应该是这样的:

>>> '1':{'name':'x',age:'18'} 
    '2':{'name':'y',age:'19'}
    '3':{'name':'z',age:'20'} ...

Using your example: 使用你的例子:

>>> myList = {'1':{'name':'x','age':'18'},'2':{'name':'y','age':'19'},'3':{'name':'z','age':'20'}}
>>> for k, d in myList.items():
    print k, d

1 {'age': '18', 'name': 'x'}
3 {'age': '20', 'name': 'z'}
2 {'age': '19', 'name': 'y'}

More examples: 更多例子:

A list of dictionaries: 词典列表:

>>> l = [{'a':'1'},{'b':'2'},{'c':'3'}]
>>> for d in l:
    print d

{'a': '1'}
{'b': '2'}
{'c': '3'}

A dictionary of dictionaries: 字典词典:

>>> D = {'d1': {'a':'1'}, 'd2': {'b':'2'}, 'd3': {'c':'3'}}
>>> for k, d in D.items():
    print d  

{'b': '2'}
{'c': '3'}
{'a': '1'}

If you want the key of the dicts: 如果你想要dicts的密钥:

>>> D = {'d1': {'a':'1'}, 'd2': {'b':'2'}, 'd3': {'c':'3'}}
>>> for k, d in D.items():
    print k, d

d2 {'b': '2'}
d3 {'c': '3'}
d1 {'a': '1'}
>>> import json
>>> dicts = {1: {'a': 1, 'b': 2}, 2: {'c': 3}, 3: {'d': 4, 'e': 5, 'f':6}}
>>> print(json.dumps(dicts, indent=4))
{
    "1": {
        "a": 1, 
        "b": 2
    }, 
    "2": {
        "c": 3
    }, 
    "3": {
        "d": 4, 
        "e": 5, 
        "f": 6
    }
}

One more option - pprint , made for pretty-printing. 还有一个选择 - pprint ,用于漂亮打印。

The pprint module provides a capability to “pretty-print” arbitrary Python data structures in a form which can be used as input to the interpreter. pprint模块提供了一种“漂亮打印”任意Python数据结构的功能,该形式可用作解释器的输入。

List of dictionaries: 词典列表:

from pprint import pprint

l = [{'a':'1'},{'b':'2'},{'c':'3'}]
pprint(l, width=1)

Output: 输出:

[{'a': '1'},
 {'b': '2'},
 {'c': '3'}]

Dictionary with dictionaries in values: 字典中的词典值:

from pprint import pprint

d = {'a':{'b':'c'}},{'d':{'e':'f'}}
pprint(d, width=1)

Output: 输出:

({'a': {'b': 'c'}},
 {'d': {'e': 'f'}})
myList = {'1':{'name':'x','age':'18'},
          '2':{'name':'y','age':'19'},
          '3':{'name':'z','age':'20'}}
for item in myList:
    print(item,':',myList[item])

Output: 输出:

3 : {'age': '20', 'name': 'z'}
2 : {'age': '19', 'name': 'y'}
1 : {'age': '18', 'name': 'x'}

item is used to iterate keys in the dict, and myList[item] is the value corresponding to the current key. item用于迭代dict中的键, myList[item]是与当前键对应的值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM