【发布时间】:2012-09-25 15:30:12
【问题描述】:
可能重复:
Python: Finding corresponding indices for an intersection of two lists
我有以下代码行:
for i in [i for i,x in enumerate(catdate) if x == set(NNSRCfile['datetimenew']).intersection(catdate)]:
print i
我正在尝试查找上述两个组件的交集索引。两者都是有几个共同点的冗长列表。相交部分完美运行;但是,for 循环似乎什么也没输出。 (即:没有打印任何内容)。
Python 没有输出错误,当我在 IPython 中运行代码时,我注意到 i 等同于列表“catdate”中的最后一个元素,而不是列出等同于交点值。
非常感谢任何帮助!
【问题讨论】:
-
这和你昨天的帖子有什么不同吗?
-
是的,虽然是同样的问题。不过我正在尝试一种不同的方法。
-
您确定不想使用
x in ...来测试x是否在您的路口? -
@Pierre,您的意思是使用“x in”而不是“x ==”?
-
你知道 .intersection 没有(逻辑上)做任何事情,因为我们知道 x 在 catdate 中,你只需要测试 x 是否在 set(NNSRCfile['datetimenew']) 中。不过,预先计算交叉点可能会更有效。
标签: python indexing set-intersection