[英]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.