在值列表之后搜索列表列表中的索引 - python

时间:2018-03-09 09:58:43

标签: python list

我有2个名单:

xs = [[0.6666666865348816, 0.800000011920929, 0.800000011920929, 0.5333333611488342, 0.5333333611488342], 
  [0.6428571343421936, 0.7142857313156128, 0.7333333492279053, 0.5714285969734192, 0.5714285969734192], 
  [0.6666666865348816, 0.8666666746139526, 0.7333333492279053, 0.5333333611488342, 0.5333333611488342]]

ss = [0.5333333611488342, 0.5714285969734192, 0.5333333611488342]

我希望在ss的值之后得到列表xs中的索引。我搜索的列表结果是这样的:

list_result = [[3,4], [3,4], [3,4]]

感谢您的帮助。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

请花些时间了解enumerate并在python中列出数据结构。 对于你的情况这个代码是有效的。请理解。

list_result = []
for lst in xs:
    result_list = []
    for i, item in enumerate(lst):
        for s in ss:
            if s == item:
                result_list.append(i)
                break
    list_result.append(result_list)
print(list_result)

答案 1 :(得分:0)

list_result = []
for sub_list in xs:
    list_result.append([i for i, item in enumerate(sub_list) if item in ss])

print(list_result)

输出:

[[3, 4], [3, 4], [3, 4]]