python 映射表_python-将列表元素映射到另一个列表中的索...

我正在比较Python中的两个列表.

list1是list2的超集.

对于list1的元素,我想要它们在list2中的索引(如果存在).

这是两个例子.

list1 = ['a','b','c','d']

list2 = ['a','b']

该解决方案应产生[0,1].

list1 = ['a','b','c','d']

list2 = ['b','a']

解决方案应产生[1,0].

我尝试了以下代码,但仅适用于第一个示例.

list1 = ['a','b','c','d']

list2 = ['a','b']

pairwise = zip(list1,list2)

matched_index = [idx for idx, pair in enumerate(pairwise) if pair[0] == pair[1]]

这可行.但是,对于第二组样本数据,我得到了错误的输出[]而不是预期的输出[1,0].

list1 = ['a','b','c','d']

list2 = ['b','a']

pairwise = zip (list1,list2)

matched_index = [idx for idx, pair in enumerate(pairwise) if pair[0] == pair[1]]

print(matched_index) # prints []

请提出前进的方向.