簡體   English   中英

如何在列表列表中獲取外部列表元素的索引?

[英]How can I get an index of an outer list element in a list of lists?

我有一個清單:

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 loc( x, ml ):
    return [a for a,b in ml].index(x)

您還可以創建一個傳遞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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM