在Python中迭代多维列表

2024-06-02 08:43:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python中迭代多维列表,但它并不像我期望的那样工作。你知道吗

POIs = {'GTA': {'areas': [{'lat': 43.7, 'range': '40km', 'long': -79.416}]}, 'Montreal': {'areas': [{'lat': 45.509, 'range': '40km', 'long': -73.588}]}}

for POI in POIs:
    print POI

这将返回字符串

GTA
Montreal

如果我在Ruby中使用.each做类似的事情,它会传递散列。Python和Ruby处理数组循环的方式有根本区别吗?或者有没有更好的方法来尝试和实现Python中的每个样式迭代?你知道吗


Tags: 字符串in列表forrangelongpoieach
2条回答

如果在遍历字典时需要除键之外的值,请使用.items().iteritems()。这里重要的一点是你有一个字典,而不是一个多维的list(多维列表看起来像L = [[1, 2, 3], [4, 5, 6]])。你知道吗

POIs = {'GTA': {'areas': [{'lat': 43.7, 'range': '40km', 'long': -79.416}]}, 'Montreal': {'areas': [{'lat': 45.509, 'range': '40km', 'long': -73.588}]}}
for POI, areas in POIs.iteritems():
    print POI, areas

输出

GTA {'areas': [{'lat': 43.7, 'range': '40km', 'long': -79.416}]}
Montreal {'areas': [{'lat': 45.509, 'range': '40km', 'long': -73.588}]}

这是一个字典而不是一个列表,所以您要打印示例中的键。也可以使用以下代码打印值:

for POI in POIs:
    print POI, POIs[POI]

相关问题 更多 >