我有一个列表:
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}
d[2]
# 1
d[4]
# 3
你也可以创建一个函数,将输入作为参数传递,并获得相应的索引作为输出
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
符合所需输入/输出行为的函数:
def loc( x, ml ):
return [a for a,b in ml].index(x)
element[0] == target
。 - mkrieger1