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

时间:2019-05-21 14:31:53

标签: 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

3 个答案:

答案 0 :(得分: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 :(得分:0)

与所需输入/输出行为匹配的功能:

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

答案 2 :(得分:0)

您还可以创建一个函数,向其传递一个Input并获取相应的索引作为输出

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