[英]Python Convert Decimal Fixed Point List to Radians
我有一个十进制定点数字列表:
latitude = Places.query.with_entities(Places.latitude).all()
result = []
for i in range(len(latitude)):
result.append(latitude[i][0])
print result
纬度的输出是这样,我想将它们映射到弧度。 因此,我这样做:
lat_ = map(lambda i: radians(i), result)
但出现错误TypeError: a float
我想知道执行此操作的正确方法是什么。 `
编辑
现在结果看起来像这样:
[28.633, 29.333,...]
错误是:
TypeError: float() argument must be a string or a number
尝试这个:
rads = [x['latitude'] for x in result]
_lat = map(lambda i: radians(i), rads)
问题在于,来自maths模块的弧度函数要求输入的是float类型,而不是Decimal类型的输入。 您必须先将值转换为浮点型:
lat_ = map(lambda i: radians(float(i)), result)
from decimal import *
from math import radians
result = [Decimal('77.216700'), Decimal('77.250000'), Decimal('77.216700'), Decimal('77.216700'), Decimal('77.200000'), Decimal('77.216700')]
lat_ = map(lambda i: radians(float(i)), result)
# [1.3476856525247056, 1.3482668471656196, 1.3476856525247056,
# 1.3476856525247056, 1.3473941825396225, 1.3476856525247056]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.