与另一个列表进行比较,确定列表中所有元素的索引

那拉欣哈甘南

例如我有一个列表A

A = [100, 200, 300, 200, 400, 500, 600, 400, 700, 200, 500, 800]

我有清单B

B = [100, 200, 200, 500, 600, 200, 500]

我需要确定元素的索引BA

我试过了:

list_index = [A.index(i) for i in B]

它返回:

[0, 1, 1, 5, 6, 1, 5]

但我需要的是:

[0, 1, 3, 5, 6, 9, 10]

我该如何解决?

标记

您可以遍历 的枚举A以跟踪索引并生成它们匹配的值:

A = [100,200,300,200,400,500,600,400,700,200,500,800]
B = [100,200,200,500,600,200,500]

def get_indices(A, B):
    a_it = enumerate(A)
    for n in B:
        for i, an in a_it:
            if n == an:
                yield(i)
                break
            
list(get_indices(A, B))
# [0, 1, 3, 5, 6, 9, 10]

这避免了index()多次使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

更改所有元素对应于另一个列表索引列表

将列表的所有元素相乘(另一个列表索引超出范围)

python - 通过与另一个列表的元素进行比较来查找列表中元素索引的最快方法

将一个嵌套列表的元素与另一个嵌套列表进行比较

将列表的第一个元素与另一个列表进行比较

将列表的每个元素与其在另一个元素中的对应索引进行比较

将列表的每个元素与另一个列表的每个元素进行比较

比较两个列表以返回一个列表,其中所有元素都为0,但保留索引时匹配的元素除外?

从另一个列表索引列表元素

有没有一种方法可以确定列表的元素是否与另一个列表(具有相同索引)的元素匹配?

根据另一个列表中元素的索引对列表进行排序

从具有另一个列表中给定索引的列表元素中提取

将列表插入另一个列表,每个元素都有索引

对特定索引处的嵌套列表的元素以及另一个普通列表的元素的索引进行迭代

将列表中的每个元素与另一个列表中的2个元素进行比较,使代码高效

检查列表是否包含另一个列表中存在的所有类型的元素

如何找到该列表包含另一个列表中的所有元素?

如何检查列表中的所有元素是否都在另一个列表中?

查找与另一个列表对应的元素的索引

检查一个列表的每个元素是否是另一个列表的所有元素的倍数

将列表的每个元素与 Python3 中另一个列表的每个元素进行比较

将列表的每个元素与另一个列表的对应元素进行比较的最快方法是什么?

将列表列表与另一个列表进行比较,然后返回常用列表

将List <T>转换为另一个列表中所有对象的逗号分隔值列表

如何打印包含另一个列表中所有字符串的子列表?

检查列表列表的所有元素是否在另一个列表列表Python中

将列表的所有元素分别附加到python中另一个列表的所有元素

从一个列表中查找一个元素并将其与另一个列表中的元素进行比较

使用列表理解来查找列表中的元素,而另一个列表中的所有元素都是因子