Другой (возможно, более удобным для чтения?) Один вкладыш:
>>> [index for (index,(a,b)) in enumerate(zip(A,B)) if a!=b]
[5, 7]
Этот первый застежки-молнии в перечислены вместе:
[(0, 0), (1, 1), (0, 0), (1, 1), (0, 0), (1, 0), (0, 0), (0, 1), (0, 0),
(1, 1), (0, 0), (1, 1), (0, 0), (1, 1), (0, 0)]
А затем присоединяет индекс к элементам с enumerate()
Функции:
[(0, (0, 0)), (1, (1, 1)), (2, (0, 0)), (3, (1, 1)), (4, (0, 0)), (5, (1, 0)),
(6, (0, 0)), (7, (0, 1)), (8, (0, 0)), (9, (1, 1)), (10, (0, 0)), (11, (1, 1)),
(12, (0, 0)), (13, (1, 1)), (14, (0, 0))]
Затем он использует довольно стандартный list comprehension для сравнения элементов строит список индексов, где элементы не совпадают.
Почему не индекс 5 из B или индекс 7 A? Вы принимаете какой-либо шаблон? –
Нет шаблона.Просто подсчитываю. – user366121