python - 查找两个列表的对应元素之间的差异索引
问题描述
假设您有两个相同长度的列表:
a=['x', 'x', 'y', 'x', 'z', 'w']
,
b=['x', 'w', 'y', 'x', 'z', 'z']
我希望比较两个列表的相应元素,并返回两个列表不同的索引列表。在这种情况下,它应该返回[1, 5]
. 此列表的顺序无关紧要。
我知道如何使用 for 循环来实现这一点,但有没有更有效的方法?
解决方案
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]