如何在列表嵌套列表中获取外部列表元素的索引?

3

我有一个列表:

mylist = [[0, [0]], [2, [1]], [3, [4]], [4, [1, 4]]]

我希望能够根据元素获取外部列表中的索引。

我已经尝试过这种方法,但是这只能获取到列表的外部元素。

get_index = [outer for outer, inner in mylist]

我希望能有类似这样的东西:
Input: 2
Output: 1

Input: 4
Output: 3

这里的条件是 element[0] == target - mkrieger1
3个回答

3
你可以使用带有enumerate的字典推导式,以便从第一个值中轻松查找索引:
d = {i[0]:ix for ix, i in enumerate(mylist)}
# {0: 0, 2: 1, 3: 2, 4: 3}

d[2]
# 1

d[4]
# 3

1
谢谢!这就做到了! - AlyssaAlex

0

你也可以创建一个函数,将输入作为参数传递,并获得相应的索引作为输出

def get_index(inp):
    idx = [i for i, j in enumerate(mylist) if inp==j[0]]
    return idx[0]

inp = 2
get_index(inp)
# 1

inp = 4
get_index(inp)
# 3

0

符合所需输入/输出行为的函数:

def loc( x, ml ):
    return [a for a,b in ml].index(x)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接