按索引第n个调用列表内的元素

时间:2018-07-24 10:36:39

标签: python

这必须是一个非常基本的问题,因此请耐心等待。我有一个这样的列表列表:

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

我要访问index = 6,然后获取output = 7

2 个答案:

答案 0 :(得分: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))的时间复杂度。

答案 1 :(得分:3)

尝试一下:

s= [9,10]
a2 = next(c for c,e in enumerate(A) if e[:2]==s)