以编程方式从嵌套列表中检索元素

时间:2019-10-05 16:52:44

标签: python

使用以下示例从嵌套列表中检索元素。当列表具有更深的嵌套时,需要使用更多的elif语句来扩展此代码。问题是这是一个合适的解决方案,还是做得更好?

m_list_test = [0, 1, [2.0, 2.1], [3.0]]


def get_list_element(m_list, idx1=None, idx2=None):
    if idx1 is None and idx2 is None:
        return m_list
    elif idx2 is None:
        return m_list[idx1]

    else:
        return m_list[idx1][idx2]


print(get_list_element(m_list_test))
print(get_list_element(m_list_test,2,1))

输出将是:

[0, 1, [2.0, 2.1], [3.0]]
2.1

1 个答案:

答案 0 :(得分:2)

您可以使用打包参数编写更多的“通用”解决方案:

def get_list_element(source, *indexes):
    for index in indexes:
        source = source[index]
    return source