简化嵌套字典

时间:2018-08-16 18:54:32

标签: python

我将Python用作第一门编程语言,正在读《 Python速成班》这本书。在一个练习中,我需要在字典中制作字典并打印每个城市的信息。

我正在使用Python 3.7.0。 下面的代码仅用于预期目的,但我正在尝试找到一种更简单的方法来执行此操作。有什么我可以改善的吗?

cities = {
    'viedma': {
        'provincia': 'rio negro',
        'habitantes': 50000,
        'pais': 'argentina',
        },
    'patagones': {
        'provincia': 'buenos aires',
        'habitantes': 20000,
        'pais': 'argentina',
        },
    'caba': {
        'provincia': 'caba',
        'habitantes': 2800000,
        'pais': 'argentina',
        }
    }

for city, info in cities.items():
    print('\nCiudad: ' + city.title())
    k = list(info.keys())
    v = list(info.values())
    count = 0
    for sub_info in k:
        print(str(sub_info.title()) + ': ' + str(v[count]).title())
        count += 1

1 个答案:

答案 0 :(得分:2)

外部循环优雅地迭代外部dict中的键和值。内部循环应该做同样的事情。不需要回旋代码将每个内部dict的键和值保存在kv中,然后使用手动count变量对其进行迭代。

for city, info in cities.items():
    print('\nCiudad: ' + city.title())
    for name, value in info.items():
        print(name.title() + ': ' + str(value).title())