-3

这一定是一个非常基本的问题,所以请多多包涵。我有一个这样的列表列表:

l = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]

我想访问index = 6then get output = 7

4

2 回答 2

3

尝试这个:

s= [9,10]
a2 = next(c for c,e in enumerate(A) if e[:2]==s)
于 2018-07-24T11:06:26.933 回答
3

抱歉,没有看到您要查找子列表的第一和第二位置。

然后你可以将它合并到一个列表中。时间复杂度为O(N)

s =  [5,6]
A=[[1,2,3,4],
   [5,6,7,8],
   [9,10,11,12]]
print([index for index,lst in enumerate(A) if lst[:2]==s][0])

结果:

1

但是,如果您的列表增加了它的第一个索引。您可以使用二分搜索来实现O(log(N))时间复杂度。

于 2018-07-24T10:57:19.560 回答