【问题标题】:Remove redundant square brackets in a list python [duplicate]删除列表python中的多余方括号[重复]
【发布时间】:2017-03-06 02:55:37
【问题描述】:

我正在处理经度和纬度列表。每个内部列表都有一个额外的对或方括号。

例如:

[[-87.77621462941525,-87.77676645562643,-87.77906119123564]]

我想删除多余的括号并留下:

 [-87.77621462941525,-87.77676645562643,-87.77906119123564] 

谢谢

【问题讨论】:

    标签: python python-3.x list


    【解决方案1】:

    这是嵌套列表对象,你可以通过索引访问内部列表。

    In [1]: l = [[-87.77621462941525,-87.77676645562643,-87.77906119123564,]]
    
    In [2]: l[0]
    Out[2]: [-87.77621462941525, -87.77676645562643, -87.77906119123564]
    

    【讨论】:

      【解决方案2】:

      列表索引

      您可以简单地使用列表索引。

      my_lists = [[-87.77621462941525,-87.77676645562643,-87.77906119123564,]]
      my_list  = my_lists[0]
      

      next

      另一种方法是使用next,它将一个可迭代对象作为参数。在可迭代对象为空的情况下,它将引发StopIteration。您可以通过添加默认值作为第二个参数来防止这种情况发生。

      my_list = next(iter(my_lists))
      

      或者

      my_list = next(iter(my_list), [])  # Using [] here but the second argument can be anything, really
      

      显然,对于您的情况,第二个选项可能有点矫枉过正,但我​​发现在许多情况下它是一种有用的单线。例如:

      next_element = next(iter(list_of_unknown_size), None)
      

      对比

      next_element = list_of_unknown_size[0] if list_of_unknown_size else None
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-29
        • 1970-01-01
        • 2012-10-23
        • 2020-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多