List Intersection в Python

List Intersection Python



Много променливи на обекти съществуват в python за съхраняване на различни типове данни. The списък е една от тези променливи и може да съхранява различни видове данни за различни нужди. Понякога трябва да намерим общи, необичайни или както общи, така и необичайни елементи от множество списъци за програмиране. Python съдържа няколко вградени функции и оператори, които могат да изпълняват тези типове задачи за Python набори. Намирането на общи данни от множество списъци се нарича спиране на списъци, но няма оператор или вградена функция за списъци като набори за намиране на общите елементи от данни от множество списъци. Този урок ще ви покаже как да пресичате списъци в Python.

Пресечна точка

Преди да започнете този урок, ще бъде обяснена концепцията за пресичане. По -долу са дадени две като пример:







Списък 1= [4, 7, 2. 3, 9, 6, единадесет]
Списък2= [6, 5, 1, двайсет, 9, 7, 4, 3]

След прилагане на пресечната точка, ако резултатът се съхранява в друг списък, може би с име List3, тогава той ще съдържа следните данни.



Списък3= [4, 6, 7, 9]

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







Пример 1: Пресичане на списъци чрез метода set ()

Следващият пример показва как можете да пресечете два списъка с помощта на комплект() метод и & оператор. Тук се декларират два списъка, наречени list1 и list2. И двата списъка съдържат числови стойности. Третият списък се генерира чрез преобразуване на списък1 и списък 2 в множеството чрез набора () метод и прилагане на пресичане с помощта на & оператор. След това се отпечатват стойностите на трите списъка.

#!/usr/bin/env python3
# Определете списък1
списък1= [22, 8, Четири пет, единадесет, 3. 4, 9, двайсет, 7]
# Определете списък2
списък2= [12, 9, двайсет, 78, 53, 8, 2, 30,31]
# Създайте списък3, като пресечете списък1 и списък2
списък3= списък(комплект(списък1)&комплект(списък2))
# Печат на списък1
печат(„Стойностите на list1:н',списък1)
# Печат на списък2
печат(„Стойностите на list2:н',списък2)
# Печат на списък3
печат(„Стойностите на list3 след пресичане на list1 и list2:н',списък3)

Изход



Следният изход ще се появи след стартиране на скрипта. Три стойности са общи за двата списъка. Тези стойности са 8, 9 и 20 и са показани в съдържанието на третия списък.

Пример 2: Пресичане на списъци чрез метода intersection ()

Няма директен, вграден метод за списъчния обект за установяване на пресечните стойности между два списъка. Наборът обаче има вграден метод, наречен кръстовище () , за да разберете общите стойности между множествата. Персонализирана функция, наречена intersectionLists () , е дефиниран в следния скрипт, за да се открият общите стойности между двата списъка. Едно ограничение на този набор е, че той може да съдържа само числови данни. Променлива на списък може да съдържа различни типове данни, включително числови, логически и др. В скрипта, списък1 и списък2 съдържат всички низови данни, включително и текст. Скриптът ще отпечата всички общи низови и числови стойности между списък1 и списък2 .

#!/usr/bin/env python3

# Определете функцията за връщане на пресечната точка на два списъка
defintersectLists(списък1,списък2):
връщане комплект(списък1).кръстовище(списък2)

# Определете списък1
списък1= ['Здравейте','7','8','10','2']
# Определете списък2
списък2= ['8','3. 4','Здравейте','2','двадесет и едно','1',10]
'' 'Извикайте персонализираната функция за съхранение
резултатът от пресичането на list1 и list2
в списък3 ''

списък3=intersectLists(списък1,списък2)
# Печат на списък1
печат(„Стойностите на list1:н',списък1)
# Печат на списък2
печат(„Стойностите на list2:н',списък2)
# Печат на списък3
печат(„Стойностите на list3 след пресичане на list1 и list2:н',списък3)

Изход

Следният изход ще се появи след стартиране на скрипта. Тук общи стойности между двата списъка са „2“, „8“ и „Здравей“.

Пример 3: Пресичане на списъци чрез метода на цикъла

Предишните два примера показват пресичане на списъци с помощта на вградени функции. Следващият пример показва пресечната точка на списъка без вградена функция. Това може да се постигне с помощта на цикъла. В списъка са декларирани два списъка с текстови данни. The за цикъл се използва тук, за да разберете общите текстови стойности между списък1 и списък2, и които се съхраняват в променливата, списък3 . След това се отпечатват стойностите на тези три променливи в списъка.

#!/usr/bin/env python3

# Определете списък1
списък1= ['Фархан','Абир','Акаш','Мийна','Mazher']
# Определете списък2
списък2= ['Мийна','Мойна','Нобел','По близо','Абир','Farheen']
# Намерете пресечната точка с помощта на цикъл for и запишете резултата в list3
списък3= [стойностзастойноствсписък1акостойноствсписък2]

# Печат на списък1
печат(„Стойностите на list1:н',списък1)
# Печат на списък2
печат(„Стойностите на list2:н',списък2)
# Печат на списък3
печат(„Стойностите на list3 след пресичане на list1 и list2:н',списък3)

Изход

Следният изход ще се появи след стартиране на скрипта. Тук общите текстови стойности на двата списъка са „Абир“ и „Мийна“.

Пример 4: Пресичане на прости и вложени списъци чрез метода filter ()

Следващият пример показва пресечната точка между прост списък и вложен списък. The филтър () метод и ламбда функции се използват в скрипта за провеждане на пресечната точка между list1 и list2. Когато списък съдържа един или повече списъци като елементи от списъка, тогава списъкът се нарича вложен списък. Тук, списък1 е прост списък и списък2 е вложен списък, докато списък3 съдържа стойностите на пресичането на списък1 и списък2 .

#!/usr/bin/env python3

# Определете прост списък
списък1= [22, 8, Четири пет, единадесет, 3. 4, 9, двайсет, 7]
# Определете вложен списък
списък2= [[12, 9, двайсет], [78, единадесет, 53, 8], [2, 30, 31, Четири пет]]
# Създайте списък3, като пресечете списък1 и списък2 с помощта на filter ()
списък3= [списък(филтър(ламбдаn: nвсписък1,списък)) засписъквсписък2]

# Печат на списък1
печат(„Стойностите на list1:н',списък1)
# Печат на списък2
печат(„Стойностите на list2:н',списък2)
# Печат на списък3
печат(„Стойностите на list3 след пресичане на list1 и list2:н',списък3)

Изход

Следният изход ще се появи след стартиране на скрипта. Променливата list2 съдържа три други списъка като елементи от списъка. Така че резултатът показва пресечната точка между тези три под-списъка на list2 с list1.

Заключение

Пресечната точка на списъка е полезен начин за намиране на общите стойности между списъците, които съдържат голям брой елементи от списъка. Методите за извършване на пресичане на списък със и без вградени функции са показани в този урок. След като прочетете тази статия, концепцията за пресечната точка на списъка трябва да бъде ясна и трябва да можете да приложите пресечната точка на списъка в скрипта си, като следвате всеки начин, показан в този урок.