我有一个位置名称,然后是每个位置的纬度和经度.我正在尝试确定在Python中用两个值表达单个键的最佳方法.我在想这个:
dict = {
'California': ('36.46715833333333', '-117.85891388888888'),
'California2': ('36.46715833333333', '-117.85891388888888'),
}
Run Code Online (Sandbox Code Playgroud)
然后添加更多:
dict['California'] = ('36.46715833333333', '-117.85891388888888')
Run Code Online (Sandbox Code Playgroud)
但是,我将如何轻松地遍历每个并提取它们?
for location in dict:
for lat, lon in location:
print lat, lon
Run Code Online (Sandbox Code Playgroud)
这给出了一个ValueError,声明它没有多个值可以解压缩.我如何迭代这个并得到每个lat和long?
迭代一个dict对象迭代它的键.您必须明确获取值:
for location in d:
lat, long = d[location]
Run Code Online (Sandbox Code Playgroud)
或使用.items():
for name, location in d.items():
lat, long = location
Run Code Online (Sandbox Code Playgroud)
或者使用tuple解压缩:
for name, (lat, long) in d.items():
...
Run Code Online (Sandbox Code Playgroud)
另外,不要为您的字典命名dict.你正在影响内置dict(long但你可能不会注意到).
| 归档时间: |
|
| 查看次数: |
2531 次 |
| 最近记录: |