Listează Intersecția în Python

List Intersection Python



Multe variabile de obiect există în python pentru a stoca o varietate de tipuri de date. The listă este una dintre aceste variabile și poate stoca diferite tipuri de date pentru diferite nevoi. Uneori, trebuie să găsim elemente de date comune, mai puțin frecvente sau ambele comune și mai puțin frecvente din listele multiple în scopuri de programare. Python conține mai multe funcții și operatori încorporați care pot efectua aceste tipuri de sarcini pentru seturile Python. Găsirea datelor comune din listele multiple se numește intersecție a listelor, dar nu există nici un operator sau funcție încorporată pentru liste, cum ar fi seturile, pentru a găsi elementele de date comune din liste multiple. Acest tutorial vă va arăta cum să intersectați listele în Python.

Intersecție

Înainte de a începe acest tutorial, va fi explicat conceptul de intersecție. Mai jos, două sunt date ca exemplu:







Lista1= [4, 7, 2. 3, 9, 6, unsprezece]
Lista2= [6, 5, 1, douăzeci, 9, 7, 4, 3]

După aplicarea intersecției, dacă rezultatul este stocat într-o altă listă, probabil numită List3, atunci va conține următoarele date.



Lista 3= [4, 6, 7, 9]

Reprezentarea grafică a List3 este prezentată mai jos:







Exemplul 1: intersectarea listelor prin metoda set ()

Următorul exemplu arată cum puteți intersecta două liste folosind a stabilit() metoda și & operator. Aici sunt declarate două liste, numite list1 și list2. Ambele liste conțin valori numerice. A treia listă este generată prin convertirea listei1 și a listei 2 în set prin intermediul setului () metoda și aplicarea intersecției folosind & operator. Apoi, valorile celor trei liste sunt tipărite.

#! / usr / bin / env python3
# Definiți lista1
list1= [22, 8, Patru cinci, unsprezece, 3. 4, 9, douăzeci, 7]
# Definiți lista2
list2= [12, 9, douăzeci, 78, 53, 8, 2, 30,31]
# Creați lista3 intersectând lista1 și lista2
list3= listă(a stabilit(list1)&a stabilit(list2))
# Imprimare listă1
imprimare(„Valorile listei1: n',list1)
# Imprimați lista2
imprimare(„Valorile listei2: n',list2)
# Imprimați lista3
imprimare(„Valorile list3 după intersectarea list1 și list2: n',list3)

Ieșire



Următoarea ieșire va apărea după rularea scriptului. Trei valori sunt comune ambelor liste. Aceste valori sunt 8, 9 și 20 și sunt afișate în conținutul celei de-a treia liste.

Exemplul 2: liste de intersecție prin metoda intersecție ()

Nu există o metodă directă, încorporată pentru ca obiectul listă să afle valorile de intersecție dintre două liste. Cu toate acestea, setul are o metodă încorporată, numită intersecție() , pentru a afla valorile comune dintre seturi. O funcție personalizată, numită intersectionLists () , este definit în următorul script pentru a afla valorile comune dintre cele două liste. O limitare a acestui set este că poate conține doar date numerice. O variabilă de listă poate conține diferite tipuri de șiruri de date, inclusiv numerice, booleene etc. În script, list1 și list2 conține toate datele șirului, inclusiv textul. Scriptul va imprima toate șirurile și valorile numerice comune între list1 și list2 .

#! / usr / bin / env python3

# Definiți funcția pentru a returna intersecția a două liste
defintersectLists(list1,list2):
întoarcere a stabilit(list1).intersecție(list2)

# Definiți lista1
list1= ['Buna ziua',„7”,„8”,„10”,„2”]
# Definiți lista2
list2= [„8”,„3. 4”,'Buna ziua',„2”,'douăzeci și unu',„1”,10]
'' 'Apelați funcția personalizată pentru a stoca
rezultatul intersecției list1 și list2
în listă3 '' '

list3=intersectLists(list1,list2)
# Imprimare listă1
imprimare(„Valorile listei1: n',list1)
# Imprimați lista2
imprimare(„Valorile listei2: n',list2)
# Imprimați lista3
imprimare(„Valorile list3 după intersectarea list1 și list2: n',list3)

Ieșire

Următoarea ieșire va apărea după rularea scriptului. Aici, valorile comune între cele două liste sunt „2”, „8” și „Bună ziua”.

Exemplul 3: Intersecția listelor prin metoda buclei

Cele două exemple anterioare arată intersecția listei utilizând funcții încorporate. Următorul exemplu prezintă intersecția listei fără nicio funcție încorporată. Acest lucru poate fi realizat folosind bucla. Două liste de date text sunt declarate în script. The pentru bucla este utilizată aici pentru a afla valorile de text comune între list1 și lista2, și care sunt stocate în variabilă, list3 . Apoi, valorile acestor trei variabile de listă sunt tipărite.

#! / usr / bin / env python3

# Definiți lista1
list1= [„Farhan”,„Abir”,„Akash”,„Meena”,„Mazher”]
# Definiți lista2
list2= [„Meena”,„Moyna”,„Nobel”,'Mai aproape',„Abir”,„Farheen”]
# Găsiți intersecția folosind bucla for și stocați rezultatul în list3
list3= [valoarepentruvaloareînlist1dacăvaloareînlist2]

# Imprimare listă1
imprimare(„Valorile listei1: n',list1)
# Imprimați lista2
imprimare(„Valorile listei2: n',list2)
# Imprimați lista3
imprimare(„Valorile list3 după intersectarea list1 și list2: n',list3)

Ieșire

Următoarea ieșire va apărea după rularea scriptului. Aici, valorile de text comune ale celor două liste sunt „Abir” și „Meena”.

Exemplul 4: Intersecția listelor simple și imbricate prin metoda filter ()

Următorul exemplu arată intersecția dintre o listă simplă și o listă imbricată. The filtru() metoda și lambda funcția sunt utilizate în script pentru a efectua intersecția dintre list1 și list2. Când o listă conține una sau mai multe liste ca elemente de listă, atunci lista se numește listă imbricată. Aici, list1 este o listă simplă și list2 este o listă imbricată, în timp ce list3 conține valorile de intersecție ale list1 și list2 .

#! / usr / bin / env python3

# Definiți o listă simplă
list1= [22, 8, Patru cinci, unsprezece, 3. 4, 9, douăzeci, 7]
# Definiți o listă imbricată
list2= [[12, 9, douăzeci], [78, unsprezece, 53, 8], [2, 30, 31, Patru cinci]]
# Creați lista3 intersectând lista1 și lista2 folosind filter ()
list3= [listă(filtru(lambdan: nînlist1,slist)) pentruslistînlist2]

# Imprimare listă1
imprimare(„Valorile listei1: n',list1)
# Imprimați lista2
imprimare(„Valorile listei2: n',list2)
# Imprimați lista3
imprimare(„Valorile list3 după intersectarea list1 și list2: n',list3)

Ieșire

Următoarea ieșire va apărea după rularea scriptului. Variabila list2 conține alte trei liste ca elemente de listă. Deci, rezultatul arată intersecția dintre aceste trei sub-liste ale list2 cu list1.

Concluzie

Intersecția listelor este o modalitate utilă de a găsi valorile comune între listele care conțin un număr mare de articole din listă. Metodele pentru efectuarea intersecției listelor cu și fără funcții încorporate sunt prezentate în acest tutorial. După ce ați citit acest articol, conceptul de intersecție a listei ar trebui să fie clar și ar trebui să puteți aplica intersecția listei în scriptul dvs. urmând orice mod arătat în acest tutorial.