【问题标题】:geopy.distance.geodesic() but it says TypeError: unsupported operand type(s) for +=: 'int' and 'tuple'geopy.distance.geodesic() 但它说 TypeError: unsupported operand type(s) for +=: 'int' and 'tuple'
【发布时间】:2021-09-15 02:10:49
【问题描述】:

我是新手,什么都不懂。我想创建一个我拥有的每个坐标之间的距离的新列表,point1-point2、point1-point3、point2-point3 的距离列表。

所以我的代码是:

list_of_coords = [(5.55, 95.3175), (3.583333, 98.666667), (-0.95556, 100.36056)]

list_of_distances = [geopy.distance.geodesic(combo).km for combo in combinations(list_of_coords,2)]

anddd 当我尝试运行它时,它说:

TypeError: unsupported operand type(s) for +=: 'int' and 'tuple'

如何让它正常运行?谢谢!

【问题讨论】:

    标签: python coordinates typeerror distance geopy


    【解决方案1】:

    正如我在 documentation 中看到的那样,geodesic 接受多个参数,例如 *args

    所以尝试解包:

    list_of_distances = [geopy.distance.geodesic(*combo).km for combo in combinations(list_of_coords, 2)]
    

    或者解压迭代:

    list_of_distances = [geopy.distance.geodesic(a, b).km for a, b in combinations(list_of_coords, 2)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 2016-09-26
      • 2020-05-01
      • 2020-04-14
      • 1970-01-01
      • 2020-04-04
      相关资源
      最近更新 更多