【问题标题】:Reading first non-list value from the arbitrary nested list从任意嵌套列表中读取第一个非列表值
【发布时间】:2014-05-08 13:01:35
【问题描述】:

如何编写一个函数,该函数需要从任意深度的嵌套列表中访问不是列表的第一个值?有时正确的语法是 somelist[0],有时是 somelist[0][0] 等等。整个列表的展平只是为了阅读第一个正确的解决方案吗?

【问题讨论】:

    标签: python list python-3.x nested-lists


    【解决方案1】:

    我会做类似的事情

    value = my_list[0]
    if isinstance(value, list):
        value = value[0]
    
    # use the value
    

    【讨论】:

      【解决方案2】:

      此问题已回复here

      总结:

      from itertools import chain
      myList = [ [1, 2, 3], [5, 6], [], [114, 66, 55] ]
      flatList = list( chain( *myList ) )
      

      输出:[1, 2, 3, 5, 6, 114, 66, 55]

      然后只需访问flatList[0] 即可获取第一个元素。

      【讨论】:

        【解决方案3】:

        试试这个:

        def get_first_item(value):
            if isinstance(value, list):
                return get_first_item(value[0])
            return value
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-08-20
          • 2013-09-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-29
          • 2022-10-05
          相关资源
          最近更新 更多