LINUX.ORG.RU

Сравнить два массива

 


1

1

Я сам только начинающих питонист), прошу не пинать сильно за столь ламермких вопрос.

Есть массив чисел A=[1,2,3,4,..,n] и массив B=[4,3,2,1,..,n], как лучше всего сравнить два массива и вывести количество совпавших элементов?

Заранее спасибо)

> python
Python 2.7.3 (default, Dec 14 2012, 23:27:08) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = [1,2,3,4,5]
>>> b = [5,4,3,2,1]
>>> a == b
False
>>> set(a).intersection(set(b))
set([1, 2, 3, 4, 5])

не благодари. Нагуглилось за минуту.

anonymous ()
Ответ на: комментарий от anonymous

а, да, у set оператор & делает intersection, если много писать лень

anonymous ()

массив

список

сравнить два массива и вывести количество совпавших элементов?

[x for x in a for y in b if x == y]

Так получите все совпадающие элементы, останется только убрать дубликаты. Если вы не имеете в виду под совпадением «стоящий на том же месте и имеющий то же значение».

buddhist ★★★★★ ()

Вот еще вариант

c = [A[i] for i in range(n) if A[i] == B[i]]
Последняя квадратная скобка не нужна. Ее lorcode зачем-то добавил.

Umpi ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.