Python 如何获取列表列表中外部列表元素的索引?

Python 如何获取列表列表中外部列表元素的索引?,python,list,Python,List,我有一份清单: 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 您可以使用字典理解和enumerate从第一个值轻松查找索引: d = {i[0]:ix for

我有一份清单:

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

您可以使用字典理解和
enumerate
从第一个值轻松查找索引:

d = {i[0]:ix for ix, i in enumerate(mylist)}
# {0: 0, 2: 1, 3: 2, 4: 3}


与所需输入/输出行为匹配的函数:

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

您还可以创建一个函数,将输入传递给该函数,并将相应的索引作为输出

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]==target
。谢谢!成功了!
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