python - 将字符串转换为从 Grass 解析的 python 字典中的数字

标签 python grass

在Python中解析Grass GIS模块后,我尝试在下一步的栅格计算中使用这个字典。但是解析字典中的所有内容都作为字符串传递。

# original grass command used:
# r.stat= gscript.parse_command('r.info', flags = 'r', map='HC1015.5')

# here is dict output to reuse
r.stat={u'max': u'95.7933959960938', u'min': u'1.41131834257793'}

为了能够使用字典,我喜欢直接使用字典键,但它们各自的值需要转换为 float 。

我通过以下方式破解了它:

stat=r.stat.values()
r_max=float(stat[0]); r_min=float(stat[1])

在保存解析的字典时,有什么 Python 技巧可以轻松完成此操作吗?

最佳答案

如果你想改变字典,你可以使用字典理解

stat={u'max': u'95.7933959960938', u'min': u'1.41131834257793'}

stat = {k: float(v) for k,v in stat.items()}  

print(stat)

输出

{'max': 95.7933959960938, 'min': 1.41131834257793}

关于python - 将字符串转换为从 Grass 解析的 python 字典中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50960065/

相关文章:

php - 如何从 PHP 编译 Python?

Python:将多个 LANDSAT 图像导入 Grass GIS 的脚本

python - GRASS 解析器()错误

python - python函数调用GRASS GIS模块和另一个同类python函数时发生错误

python - 使用 GeoPandas 在 Python 中读取 GRASS 矢量数据源

python - 理解 torch.nn.Flatten

Python - 如何导入下载的目录/模块?

python - 轴的绝对定位

python - Altair 双下拉菜单

c - 用C解析geojson文件