繁体   English   中英

Python将十进制定点列表转换为弧度

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM