在我试图查找的程序的前面有一个错误,但被要求解释这部分代码中发生了什么。下面是代码以及我认为它在做什么,但在某些方面尚不清楚。一些帮助理解将不胜感激。
for title in titles:
secString = 'sec_%02d' % (title)
titleCitations = [c for c in cEdges if secString in c[0]]
intraCitations = [c for c in titleCitations if secString in c[1]]
print title, len(titleCitations), len(intraCitations), len(titleCitations) - len(intraCitations)
首先, secString 获取'sec_%02d'
与标题相关的余数,(我认为这只是查找所有引用标题的字符串?)。然后它会创建一个标题引用列表。
尽管我对括号中的部分感到困惑。如果我理解正确,它会采用 cEdge,我认为它只是来自给定美国法律代码参考的一对数字列表,即 26 USC 501 变为 (26, 501),并询问 secString 在 c 中是否有值[0] 点。
(这是我感到困惑的地方;我猜 c[0] 点可能对应于上面示例中的 26,而 c[1] 对应于 501?当然我什至不确定我是否理解c 部分正确。)
如果 c[0] 位置已满,则将其放入 titlecitations 中。然后它会创建引文列表。此列表查看 titlecitations 列表并询问 secString 中是否填充了 c[1],如果是,则将其放入此列表中。
我知道有些东西有问题,因为那时标题引用和引用似乎是同一个列表。