2

在 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'}

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

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

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

在我保存解析的解释时,有什么 Python 提示可以轻松完成它吗?

4

1 回答 1

2

如果你想改变你使用的字典Dict Comprehensions

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}
于 2018-06-21T03:53:47.517 回答