Python

Пересечение списков в Python

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

Пересечение

Перед началом этого урока мы объясним концепцию пересечения. Ниже в качестве примера приведены два:

List1 = [4, 7, 23, 9, 6, 11]
List2 = [6, 5, 1, 20, 9, 7, 4, 3]

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

List3 = [4, 6, 7, 9]

Графическое представление List3 показано ниже:

Пример 1. Пересечение списков с помощью метода set ()

В следующем примере показано, как можно пересечь два списка с помощью набор() метод и & оператор. Здесь объявлены два списка с именами list1 и list2. Оба этих списка содержат числовые значения. Третий список создается путем преобразования списка 1 и списка 2 в набор через набор() метод и применение пересечения с помощью & оператор. Далее печатаются значения трех списков.

#!/ usr / bin / env python3
# Определить list1
list1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Определить list2
list2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Создаем list3 путем пересечения list1 и list2
список3 = список (набор (список1) и набор (список2))
# Распечатать list1
print ("Значения list1: \ n", list1)
# Распечатать list2
print ("Значения списка2: \ n", список2)
# Распечатать list3
print ("Значения list3 после пересечения list1 и list2: \ n", list3)

Выход

Следующий вывод появится после запуска скрипта. Оба списка имеют три общих значения. Это значения 8, 9 и 20, которые показаны в содержимом третьего списка.

Пример 2: Пересечение списков с помощью метода crossction ()

Нет прямого встроенного метода для объекта списка, чтобы узнать значения пересечения между двумя списками. Однако в наборе есть встроенный метод с именем пересечение (), чтобы узнать общие значения между наборами. Пользовательская функция с именем crossctionLists (), определяется в следующем скрипте, чтобы узнать общие значения между двумя списками. Одним из ограничений этого набора является то, что он может содержать только числовые данные. Переменная списка может содержать различные типы строк данных, включая числовые, логические и т. Д. В сценарии, list1 а также list2 содержат все строковые данные, включая текст. Скрипт напечатает все общие строковые и числовые значения между list1 а также list2.

#!/ usr / bin / env python3
 
# Определить функцию для возврата пересечения двух списков
def IntercctLists (список1, список2):
возвратный набор (список1).пересечение (список2)
 
# Определить list1
list1 = ['Привет', '7', '8', '10', '2']
# Определить list2
list2 = ['8', '34', 'Hello', '2', '21', '1', 10]
"Вызов пользовательской функции для сохранения
результат пересечения list1 и list2
в список3 "
список3 = crossctLists (список1, список2)
# Распечатать list1
print ("Значения list1: \ n", list1)
# Распечатать list2
print ("Значения списка2: \ n", список2)
# Распечатать list3
print ("Значения list3 после пересечения list1 и list2: \ n", list3)

Выход

Следующий вывод появится после запуска скрипта. Здесь общие значения между двумя списками: «2», «8» и «Hello.'

Пример 3: Пересечение списков с помощью метода цикла

В двух предыдущих примерах показано пересечение списков с использованием встроенных функций. В следующем примере показано пересечение списков без какой-либо встроенной функции. Этого можно добиться, используя цикл. В скрипте объявлены два списка текстовых данных. В для цикл используется здесь, чтобы узнать общие текстовые значения между list1 а также list2, и которые хранятся в переменной, list3. Затем печатаются значения этих трех переменных списка.

#!/ usr / bin / env python3
 
# Определить list1
list1 = ['Фархан', 'Абир', 'Акаш', 'Мина', 'Мажер']
# Определить list2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Находим пересечение с помощью цикла for и сохраняем результат в list3
list3 = [значение для значения в списке1, если значение в списке2]
 
# Распечатать list1
print ("Значения list1: \ n", list1)
# Распечатать list2
print ("Значения списка2: \ n", список2)
# Распечатать list3
print ("Значения list3 после пересечения list1 и list2: \ n", list3)

Выход

Следующий вывод появится после запуска скрипта. Здесь общие текстовые значения двух списков 'Абир' а также 'Мина.'

Пример 4: Пересечение простых и вложенных списков с помощью метода filter ()

В следующем примере показано пересечение простого списка и вложенного списка. В фильтр() метод и лямбда функции используются в скрипте для проведения пересечения между list1 и list2. Когда список содержит один или несколько списков в качестве элементов списка, этот список называется вложенным списком. Здесь, list1 это простой список, и list2 является вложенным списком, а list3 содержит значения пересечения list1 а также list2.

#!/ usr / bin / env python3
 
# Определить простой список
list1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Определить вложенный список
list2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Создайте list3 путем пересечения list1 и list2 с помощью filter ()
list3 = [список (фильтр (лямбда n: n в списке1, список)) для списка в списке2]
 
# Распечатать list1
print ("Значения list1: \ n", list1)
# Распечатать list2
print ("Значения списка2: \ n", список2)
# Распечатать list3
print ("Значения list3 после пересечения list1 и list2: \ n", list3)

Выход

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

Заключение

Пересечение списков - полезный способ найти общие значения между списками, содержащими большое количество элементов списка. В этом руководстве показаны методы выполнения пересечения списков со встроенными функциями и без них. После прочтения этой статьи концепция пересечения списков должна быть ясна, и вы сможете применить пересечение списков в своем скрипте, следуя любым способом, показанным в этом руководстве.

Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...
Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...