我试图在列表列表中的两个列表之间获取项目的子序列.例如,如果我有
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在您的示例中调用列表列表是一个坏主意,因为这会掩盖类型列表的名称,然后您无权访问该列表.