[英]How to find the indexes of items in a list of lists (python)?
我有這個清單:
list1 = [a, b, c, d, e, f, g]
我還有另一個列表列表,其中包含 list1 中的項目:
list2 = [[a, c], [d,e,f], [g]]
我想以與列表 2 中相同的順序知道列表 1 中的索引:
indexes = [[0, 2], [3, 4, 5], [6]]
謝謝!
嘗試這個 :
indexes = [[list1.index(k) for k in i] for i in list2]
輸出:
[[0, 2], [3, 4, 5], [6]]
一種有效的方法是使用字典推導來創建一個映射,將項目映射到enumerate
索引,然后使用列表推導根據映射字典將子列表中的項目映射到索引:
d = {k: i for i, k in enumerate(list1)}
[list(map(d.get, l)) for l in list2]
這將返回:
[[0, 2], [3, 4, 5], [6]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.