我正在比较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 []
请提出前进的方向.