首页 > 解决方案 > 查找两个列表的对应元素之间的差异索引

问题描述

假设您有两个相同长度的列表:

a=['x', 'x', 'y', 'x', 'z', 'w'], b=['x', 'w', 'y', 'x', 'z', 'z']

我希望比较两个列表的相应元素,并返回两个列表不同的索引列表。在这种情况下,它应该返回[1, 5]. 此列表的顺序无关紧要。

我知道如何使用 for 循环来实现这一点,但有没有更有效的方法?

标签: python

解决方案


a=['x', 'x', 'y', 'x', 'z', 'w']
b=['x', 'w', 'y', 'x', 'z', 'z']

print( [idx for idx, (i, j) in enumerate(zip(a, b)) if i != j] )

印刷:

[1, 5]

推荐阅读