从列表A中减去列表B但保留列表A索引

时间:2015-04-20 07:10:43

标签: python list count

我需要一些Python的帮助 这不是列表A中列表C的经典减去列表B. 相反,我想查看列表A中不在列表B中的项目的索引,并将它们存储到新的列表C中。

e.g。

List A:
0. car
1. plane
2. truck
3. motorcycle
4. jet
5. train

List B:
0. plane
1. jet

所以,结果应该是......

List C:
0.
2.
3.
5.

结果项目并不重要(汽车,卡车,摩托车,火车),相反,我需要在减法完成后保留列表A中项目的原始索引。 在Python中执行此操作的最简单方法是什么? 谢谢高级

2 个答案:

答案 0 :(得分:3)

使用enumerate

a = ["car", "plane", "truck", "motorcycle", "jet", "train"]
b = ["plane", "jet"]
c = [i for i, v in enumerate(a, start=1) if v not in b]
print(c)

输出:

[1, 3, 4, 6]

答案 1 :(得分:1)

result = [index for index,value in enumerate(A, start=1) if value not in B]