从任意嵌套列表中读取第一个非列表值

时间:2014-05-08 13:01:35

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

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

3 个答案:

答案 0 :(得分:0)

已经回答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]

答案 1 :(得分:0)

我会做像

这样的事情
value = my_list[0]
if isinstance(value, list):
    value = value[0]

# use the value

答案 2 :(得分:0)

试试这个:

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