这就是字典

cars = {'A':{'speed':70,
        'color':2},
        'B':{'speed':60,
        'color':3}}

使用这个for循环

for keys,values in cars.items():
    print(keys)
    print(values)

它打印以下内容:

B
{'color': 3, 'speed': 60}
A
{'color': 2, 'speed': 70}

但是我希望程序像这样打印它:

B
color : 3
speed : 60
A
color : 2
speed : 70

我刚开始学习字典,所以我不知道该怎么做。


当前回答

我更喜欢yaml的干净格式:

import yaml
print(yaml.dump(cars))

输出:

A:
  color: 2
  speed: 70
B:
  color: 3
  speed: 60

其他回答

用这个。

cars = {'A':{'speed':70,
        'color':2},
        'B':{'speed':60,
        'color':3}}

print(str(cars).replace(",", ",\n"))

输出:

{'A': {'speed': 70,
 'color': 2},
 'B': {'speed': 60,
 'color': 3}}

检查下面的一行代码:

print('\n'.join("%s\n%s" % (key1,('\n'.join("%s : %r" % (key2,val2) for (key2,val2) in val1.items()))) for (key1,val1) in cars.items()))

输出:

A
speed : 70
color : 2
B
speed : 60
color : 3

修改MrWonderful代码

import sys

def print_dictionary(obj, ident):
    if type(obj) == dict:
        for k, v in obj.items():
            sys.stdout.write(ident)
            if hasattr(v, '__iter__'):
                print k
                print_dictionary(v, ident + '  ')
            else:
                print '%s : %s' % (k, v)
    elif type(obj) == list:
        for v in obj:
            sys.stdout.write(ident)
            if hasattr(v, '__iter__'):
                print_dictionary(v, ident + '  ')
            else:
                print v
    else:
        print obj

我更喜欢yaml的干净格式:

import yaml
print(yaml.dump(cars))

输出:

A:
  color: 2
  speed: 70
B:
  color: 3
  speed: 60
# Declare and Initialize Map
map = {}

map ["New"] = 1
map ["to"] = 1
map ["Python"] = 5
map ["or"] = 2

# Print Statement
for i in map:
  print ("", i, ":", map[i])

#  New : 1
#  to : 1
#  Python : 5
#  or : 2