用元组作为值的字典?

2024-10-01 11:24:00 发布

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

我有一个位置名,然后是每个位置的经纬度。我试图确定在Python中用两个值来表示单个键的最佳方式。我在想:

dict = {
    'California': ('36.46715833333333', '-117.85891388888888'),
    'California2': ('36.46715833333333', '-117.85891388888888'),
}

然后添加更多:

^{pr2}$

但是,我如何轻松地遍历每一个并提取它们呢?在

for location in dict:
    for lat, lon in location:
        print lat, lon

这将给出一个ValueError,说明它没有多个要解压缩的值。我如何迭代这个并得到每个lat和long?在


Tags: infor方式locationdictlong经纬度lon
2条回答

正如另一个答案所说,迭代dict只得到键而不是值。最直接的迭代方式是:

for lat, lon in d.itervalues():

三者皆有:

^{pr2}$

迭代dict对象将迭代其键。必须显式获取值:

for location in d:
    lat, long = d[location]

或使用.items()

^{pr2}$

或者使用元组解包:

for name, (lat, long) in d.items():
    ...

另外,不要把你的字典命名为dict。您正在跟踪内置的dict(和long,但您可能不会注意到)。在

相关问题 更多 >