首页 > 解决方案 > typeerror:'float'对象在python中不可迭代

问题描述

我有Md = [20, 30, 40, 50, 60] 纬度Amp_lat = 1.98和经度Amp_lon = 30.03,但我正在尝试运行以下代码,但出现此错误

TypeError:“浮动”对象不可迭代

for distkm in (Md):
    Center = Amp_lat, Amp_lon
    North = vincenty(kilometers=distKm).destination(Point(Amp_lat, Amp_lon), 0).format_decimal()
    East = vincenty(kilometers=distKm).destination(Point(Amp_lat, Amp_lon), 90).format_decimal()
    South = vincenty(kilometers=distKm).destination(Point(Amp_lat, Amp_lon), 180).format_decimal()
    West = vincenty(kilometers=distKm).destination(Point(Amp_lat, Amp_lon), 270).format_decimal()

标签: pythonloopsfor-loopiterationtypeerror

解决方案


试试list comprehension,更方便:

new = [[k] for k in A]

解释

您收到TypeError是因为您无法将 list() 函数应用于 float 类型的值。此函数将可迭代对象作为参数,并且浮点数不可迭代。


推荐阅读