如何从列表列表中获取多个列表中项目的子序列?

我试图在列表列表中的两个列表之间获取项目的子序列.例如,如果我有

list=[[1,2,3,4],[],[6,9],[2],[3],[4]]

我想提取从列表[0] [1]到列表[2] [1]的项目到另一个列表.这个结果列表将是[2,3,4,6](忽略其间的空列表).

我怎样才能做到这一点?我一直试图在范围(…)循环中使用for i但它对我不起作用.

解决方法:

假设您的列表名为list_of_lists1,则此list comprehension使用enumerate()工作:

[n for i, sub_list in enumerate(list_of_lists)
   for j, n in enumerate(sub_list)
   if (0, 1) <= (i, j) < (2, 1)]

1在您的示例中调用列表列表是一个坏主意,因为这会掩盖类型列表的名称,然后您无权访问该列表.

上一篇:javascript – AngularJS:从内部返回一个承诺.then?


下一篇:three.js 制作属于自己的动态二维码