python 打印字典

python 打印字典

 

python 中,如果字典里面又有字典,则输出不好看。

方法一:使用内置的pprint
方法二:自己写一个函数

 

method 1:

>>> d = {1:{'who':{'name':'Michael','age':20,'job':{'P':'90-91','G':'91-93'}}},2:{'who':{'name':'Mary','age':18,'job':{'P':'90-93','G':'93-95'}}}}
>>> d
{1: {'who': {'job': {'P': '90-91', 'G': '91-93'}, 'age': 20, 'name': 'Michael'}}, 2: {'who': {'job': {'P': '90-93', 'G': '93-95'}, 'age': 18, 'name': 'Mary'}}}
>>> import pprint
>>> pprint.pprint(d)
{1: {'who': {'age': 20,
             'job': {'G': '91-93', 'P': '90-91'},
             'name': 'Michael'}},
 2: {'who': {'age': 18, 'job': {'G': '93-95', 'P': '90-93'}, 'name': 'Mary'}}}

 

 

method 2:

>>> d = {1:{'who':{'name':'Michael','age':20,'job':{'P':'90-91','G':'91-93'}}},2:{'who':{'name':'Mary','age':18,'job':{'P':'90-93','G':'93-95'}}}}
>>> d
{1: {'who': {'job': {'P': '90-91', 'G': '91-93'}, 'age': 20, 'name': 'Michael'}}, 2: {'who': {'job': {'P': '90-93', 'G': '93-95'}, 'age': 18, 'name': 'Mary'}}}

>>> def print_dict (d,n=0):
    for k,v in d.items():
        print '\t'*n,
        if type(v)==type({}):
	    print "%s : {" % k
            print_dict(v,n+1)
        else:
            print("%s : %s" % (k,v))
    if n!=0:
        print '\t'*(n-1)+ '}'

        
>>> print_dict(d)
 1 : {
	who : {
		job : {
			P : 90-91
			G : 91-93
		}
		age : 20
		name : Michael
	}
}
 2 : {
	who : {
		job : {
			P : 90-93
			G : 93-95
		}
		age : 18
		name : Mary
	}
}

 

你可能感兴趣的:(python)