Массив имеет GetValue (Int32) метод, который можно использовать для получения значения в указанном индексе.
Не самый эффективный, но, безусловно, наиболее очевидный способ сделать это:
>>> a = [1, 2, 3, 4, 5]
>>> b = [9, 8, 7, 6, 5]
>>> set(a) & set(b)
{5}
если порядок значительный, вы можете сделать это с помощью такого рода списков:
>>> [i for i, j in zip(a, b) if i == j]
[5]
(только работает для списков одинакового размера, что подразумевает значимость порядка).
Самый простой способ сделать это - использовать sets :
>>> a = [1, 2, 3, 4, 5]
>>> b = [9, 8, 7, 6, 5]
>>> set(a) & set(b)
set([5])
Хотите дубликаты? Если нет, возможно, вам следует использовать наборы:
>>> set([1, 2, 3, 4, 5]).intersection(set([9, 8, 7, 6, 5]))
set([5])
Вы можете использовать
def returnMatches(a,b):
return list(set(a) & set(b))
Используйте set.intersection () , он быстрый и читаемый.
>>> set(a).intersection(b)
set([5])
>>> s = ['a','b','c']
>>> f = ['a','b','d','c']
>>> ss= set(s)
>>> fs =set(f)
>>> print ss.intersection(fs)
**set(['a', 'c', 'b'])**
>>> print ss.union(fs)
**set(['a', 'c', 'b', 'd'])**
>>> print ss.union(fs) - ss.intersection(fs)
**set(['d'])**