Skip to main content
 首页 » 编程设计

python之通过列表索引嵌套列表

2025年05月04日14luoye11

给定一个嵌套列表

>>> m= [[3, 1], [2, 7]] 

我可以得到这样一个元素

>>> m[1][0] 
2 

如果索引在列表中给出,我如何获得相同的值,即 [1, 0]?

我正在寻找 Q 编程语言提供的 dot 的东西就像下面的代码

q) m: (3 1; 2 7) 
q) m[1][0] 
2 
q) m . 1 0 
2 

请您参考如下方法:

作为快速解决方案,您可以像这样滥用 functools.reduce:

from functools import reduce 
def get_recursive(lst, idx_list): 
    return reduce(list.__getitem__, [lst, *idx_list]) 

>>> y = [[3, 1], [2, 7]] 
>>> get_recursive(y, [0, 1]) 
1 
>>> get_recursive(y, [1, 0]) 
2 

有很多极端情况需要处理(此外,您必须确保路径存在,否则会处理出现的任何错误),但这应该可以帮助您入门。