Рубрики

Python | Количество общих элементов в списках

Иногда при работе со списком Python у нас может возникнуть проблема, заключающаяся в том, что мы должны сравнить два списка на предмет сходства индексов и, следовательно, иметь задачу подсчета равных пар индексов. Давайте обсудим некоторые способы выполнения этой задачи.

Способ № 1: Использование sum() + zip()
Эта задача может быть выполнена путем передачи zip() , который выполняет задачу отображения обоих списков друг с другом, в sum() которая вычисляет сумму в соответствии с равными индексами.

# Python3 код для демонстрации работы
# Идентичное суммирование элементов в списках
# используя sum () + zip ()

  
# инициализировать списки

test_list1 = [5, 6, 10, 4, 7, 1, 19]

test_list2 = [6, 6, 10, 3, 7, 10, 19]

  
# печать оригинальных списков

print("The original list 1 is : " + str(test_list1))

print("The original list 2 is : " + str(test_list2))

  
# Идентичное суммирование элементов в списках
# используя sum () + zip ()

res = sum(x == y for x, y in zip(test_list1, test_list2))

  
# результат печати

print("Summation of Identical elements : " + str(res))

Выход :

The original list 1 is : [5, 6, 10, 4, 7, 1, 19]
The original list 2 is : [6, 6, 10, 3, 7, 10, 19]
Summation of Identical elements : 4

Способ № 2: Использование sum() + map() + eq
Задача, выполняемая вышеописанным способом с использованием zip() может быть выполнена здесь с использованием функции map, которая выполняет аналогичную задачу. Проверка на равенство может быть выполнена встроенным оператором eq.

# Python3 код для демонстрации работы
# Идентичное суммирование элементов в списках
# используя sum () + map () + eq

from operator import eq

  
# инициализировать списки

test_list1 = [5, 6, 10, 4, 7, 1, 19]

test_list2 = [6, 6, 10, 3, 7, 10, 19]

  
# печать оригинальных списков

print("The original list 1 is : " + str(test_list1))

print("The original list 2 is : " + str(test_list2))

  
# Идентичное суммирование элементов в списках
# используя sum () + map () + eq

res = sum(map(eq, test_list1, test_list2))

  
# результат печати

print("Summation of Identical elements : " + str(res))

Выход :

The original list 1 is : [5, 6, 10, 4, 7, 1, 19]
The original list 2 is : [6, 6, 10, 3, 7, 10, 19]
Summation of Identical elements : 4

Рекомендуемые посты:

Python | Количество общих элементов в списках

0.00 (0%) 0 votes