Python:查找两个列表交集的相应索引

7

这与我今天不久前提出的一个问题有些相关。我正在按照以下方法取两个列表的交集:

    inter = set(NNSRCfile['datetimenew']).intersection(catdate)

我正在对两个长列表的交集进行比较。是否可能获取相交值的索引?(即原始列表的索引)。

对于这个问题,我不太确定从哪里开始。

非常感谢您的帮助!

1个回答

15

我会创建一个字典来保存原始索引:

ind_dict = dict((k,i) for i,k in enumerate(NNSRCfile['datetimenew']))

现在,像以前一样构建你的集合:

inter = set(ind_dict).intersection(catdate)

现在,获取索引列表:

indices = [ ind_dict[x] for x in inter ]

在第二行,"values()" 应该改为 "keys()" 吗?因为日期被存储为第一行的键。 - Kyle Simek
@KyleSimek -- 是的,我相信你是对的。最终,您甚至可以像以前一样准确地执行set(NNSRCfile ['datetimenew']).intersection(catdate)。我不确定我当时在想些什么 :-) - mgilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接