【问题标题】:TypeError: 'float' object is not subscriptable. Split coordinates by two listsTypeError:'float' 对象不可下标。按两个列表拆分坐标
【发布时间】:2021-05-22 10:08:21
【问题描述】:

我需要用纬度和经度列表中的坐标拆分列表。

coordinate =[[28.1944412,59.3611303],
         [28.1950085,59.3609766],
         [28.1950943,59.3611666],
         [28.1952418,59.3611556],
         [28.1951894,59.3609233],
         [28.1949748,59.3607484],
         [28.1932367,59.3601032],
         [28.1924642,59.3598571],
         [28.1909515,59.3595509],
         [28.1902434,59.3593814],
         [28.1902329,59.3593308],
         [28.1902322,59.3593196]]
         latitude=[]
         longtitude=[]
         for coodinates in coordinate:
             for coordinatere in coodinates:
                 longtitude.append(coordinatere[o])
                 latitude.append(coordinatere[i])
         print(latitude)

我收到了这条消息。

TypeError: 'float' 对象不可下标。

我该如何解决?感谢您的帮助。

【问题讨论】:

  • 您是否尝试打印coodinatescoordinatere 的值?使用更有意义的名称可能有助于查看错误。您有一个坐标列表并称它们为coordinate(单数)。然后将一个坐标称为coodinates,并将其中的一个值称为coordinatere。难怪你会感到困惑。
  • 您只需要一个循环即可获取您的内部列表。在两个循环中,你得到了浮点数,这就是你得到那个异常的原因。
  • 事实上你只需要longitude, latitude = zip(*coordinate)。就是这样。

标签: python thonny


【解决方案1】:

单行列表理解应该可以完成这项工作:


longitudes = [i[0] for i in coordinate]
latitudes = [i[1] for i in coordinate]

【讨论】:

    【解决方案2】:

    试试这个。

    coordinate =[[28.1944412,59.3611303],[28.1950085,59.3609766],[28.1950943,59.3611666],[28.1952418,59.3611556],[28.1951894,59.3609233],[28.1949748,59.3607484],[28.1932367,59.3601032],[28.1924642,59.3598571],[28.1909515,59.3595509],[28.1902434,59.3593814],[28.1902329,59.3593308],[28.1902322,59.3593196]]
    latitude=[]
    longtitude=[]
    for coodinates in coordinate:
        
        longtitude.append(coodinates[0])
        latitude.append(coodinates[1])
    print(latitude)
    

    【讨论】:

    • 第二个 for 循环从列表中获取浮点数
    【解决方案3】:

    你不需要第二个 for 循环

    for coodinates in coordinate:
         longtitude.append(coodinates[0])
         latitude.append(coodinates[1])
    

    【讨论】:

      猜你喜欢
      • 2020-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      • 1970-01-01
      • 2022-06-10
      相关资源
      最近更新 更多