我有以下代码:
import sys
A=['Anne','Romeo','Flynn','Mickey']
B=['Bravo','Whiskey','Anne','Flynn','Joe', 'Marianne']
C=['2', 'Joe', 'Marshall','2']
D=['Connor', '2', 'Robert', 'Marshall', 'George', 'Franklin']
E=['2', 'Flynn', '2', 'Richard', 'Phillip']
F=['Rex', 'Fer', 'Dan', 'Daniel', 'Didi', 'Didier']
for name in A:
if name in B:
match=name
a_index = A.index(match)
c_element = C[a_index]
b_index = B.index(match)
e_element = E[b_index]
f_element = F[b_index]
if c_element == e_element:
print([match, c_element, f_element])
但是我收到以下错误:
e_element = E[b_index]
IndexError: list index out of range
我的输出应该是这样的:
Anne 2 Dan
算法应该是这样的:
A和B之间的第一个共同元素是Anne => matches =>让我们从列表A和B =>的相同行中检查列表C和E中的元素。 '2'是列表C的对应物,'2'是列表E =>的对应物。 matches =>在Excel中打开一个新工作表=>在Excel =>中写入A和B之间的公共元素(在我们的例子中是Anne)在col = 2,row = 1 =>中写入C和E之间的公共元素(在我们的例子中是2)在col = 3,row = 1的列表F('Dan')中写入与列表B和E(第7行)相同的行中的元素。
目前,我想在屏幕上显示,但主要目标应该是将这些数据插入到Excel中,我希望脚本更具可扩展性(不适用于此示例,因为我有每个列表至少有10k个元素)。
知道代码中有什么问题吗?
非常感谢,
丹
答案 0 :(得分:2)
也许你的代码有不正确的缩进:
stopPropagation