我正在尝试获取列表列表中2个列表之间的项目子序列。例如,如果我有
list=[[1,2,3,4],[],[6,9],[2],[3],[4]]
我想将从list[0][1]
到list[2][1]
的项目提取到另一个列表中。然后,该结果列表将为[2,3,4,6]
(忽略之间的空列表)。
我该怎么做?我一直在尝试使用for i in range(...)
循环,但它对我不起作用。
答案 0 :(得分:2)
假设您的列表名为list_of_lists
1 ,则使用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 在您的示例中,调用列表list
是一个坏主意,因为它会掩盖类型list
的名称,然后您将无法访问。
答案 1 :(得分:0)
尝试一下:
def complex_slice(my_list, i, j, k):
result = my_list[i][k:]
for sub_list in my_list[ (i + 1) : (j - 1) ]:
result.extend(sub_list)
result.extend(my_list[j][:k])
return result