我有以下代码:
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 => 匹配 => 让我们检查列表 C 和 E 中与列表 A 和 B 相同行的元素 => '2' 是列表 C 的对应项,'2' 是对应项对于列表 E => 匹配 => 在 Excel 中打开一个新工作表 => 在 Excel 中写入 A 和 B(在我们的示例中是 Anne)之间的公共元素 => 在 C 和 E 之间写入公共元素(在我们的例如)在 col=2 中,row=1 => 从列表 F('Dan')中的 col=3,row=1 中写入与列表 B 和 E(第 7 行)相同的行中的元素。
目前,我只想在屏幕上显示,但主要目标应该是将此数据插入 Excel,并且我希望脚本更具可扩展性(不仅仅适用于此示例,因为我的每个列表都带有 at至少 10k 个元素)。
知道代码有什么问题吗?
提前谢谢了,
担