将字符串转换为从 Grass 解析的 python 字典中的数字
Converting strings to number inside python dictionary parsed from 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'}
为了能够使用字典,我喜欢直接使用字典键,但它们各自的值需要转换成浮点数。
我通过以下方式破解了它:
stat=r.stat.values()
r_max=float(stat[0]); r_min=float(stat[1])
有什么 Python 提示可以让我在保存已解析的字典时轻松地做到这一点?
如果您想更改词典,请使用 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}
解析完 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 提示可以让我在保存已解析的字典时轻松地做到这一点?
如果您想更改词典,请使用 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}