List Intersection u Pythonu

List Intersection Python

Mnoge varijable objekta postoje u pythonu za pohranu različitih vrsta podataka. The popis jedna je od ovih varijabli i može pohraniti različite vrste podataka za različite potrebe. Ponekad moramo pronaći zajedničke, neuobičajene ili uobičajene i neuobičajene stavke podataka s više popisa u svrhu programiranja. Python sadrži nekoliko ugrađenih funkcija i operatora koji mogu izvesti ove vrste zadataka za skupove Python. Traženje zajedničkih podataka s više popisa naziva se sjecište popisa, ali ne postoji operator ili ugrađena funkcija za popise poput skupova za pronalaženje zajedničkih stavki podataka s više popisa. Ovaj vodič će vam pokazati kako presjeći popise u Pythonu.

Križanje

Prije početka ovog vodiča bit će objašnjen pojam raskrižja. U nastavku su navedena dva kao primjer:



Popis1= [4, 7, 2. 3, 9, 6, jedanaest]
Popis2= [6, 5, 1, dvadeset, 9, 7, 4, 3]

Nakon primjene raskrižja, ako je rezultat pohranjen na drugom popisu, možda nazvanom List3, tada će sadržavati sljedeće podatke.



Popis3= [4, 6, 7, 9]

Grafički prikaz Popisa 3 prikazan je u nastavku:



Primjer 1: Presijecanje popisa putem metode set ()

Sljedeći primjer pokazuje kako možete presjeći dva popisa pomoću set () metoda i & operater. Ovdje su deklarirana dva popisa, nazvana list1 i list2. Oba ova popisa sadrže numeričke vrijednosti. Treći popis nastaje pretvaranjem popisa1 i popisa 2 u skup putem skupa () metodom i primjenom presjeka pomoću & operater. Zatim se ispisuju vrijednosti tri popisa.

#!/usr/bin/env python3
# Definirajte popis1
popis1= [22, 8, Četiri pet, jedanaest, 3. 4, 9, dvadeset, 7]
# Definirajte popis2
popis2= [12, 9, dvadeset, 78, 53, 8, 2, 30,31]
# Napravite popis3 presijecanjem popisa1 i popisa2
popis3= popis(postavljen(popis1)&postavljen(popis2))
# Ispis popisa1
ispisati('Vrijednosti liste1: n',popis1)
# Ispis popisa2
ispisati('Vrijednosti liste2: n',popis2)
# Ispis popisa3
ispisati('Vrijednosti popisa3 nakon presijecanja popisa1 i popisa2: n',popis3)

Izlaz



Sljedeći izlaz pojavit će se nakon pokretanja skripte. Tri su vrijednosti zajedničke za oba popisa. Ove su vrijednosti 8, 9 i 20 i prikazane su u sadržaju trećeg popisa.

Primjer 2: Presijecanje popisa putem metode intersection ()

Ne postoji izravna, ugrađena metoda za objekt popisa da dozna vrijednosti sjecišta između dva popisa. Međutim, skup ima ugrađenu metodu, nazvanu križanje() , kako bi saznali zajedničke vrijednosti između skupova. Prilagođena funkcija, nazvana intersectionLists () , definirano je u sljedećoj skripti kako bi se otkrile zajedničke vrijednosti između dva popisa. Jedno ograničenje ovog skupa je to što može sadržavati samo numeričke podatke. Varijabla popisa može sadržavati različite vrste podatkovnih nizova, uključujući numeričke, logičke itd. U skripti, popis1 i popis2 sadrže sve podatke o nizovima uključujući i tekst. Skripta će ispisati sve uobičajene nizove i numeričke vrijednosti između popis1 i popis2 .

#!/usr/bin/env python3

# Definirajte funkciju za vraćanje presjeka dva popisa
defintersectLists(popis1,popis2):
povratak postavljen(popis1).križanje(popis2)

# Definirajte popis1
popis1= ['Zdravo','7','8','10','2']
# Definirajte popis2
popis2= ['8','3. 4','Zdravo','2','dvadeset i jedan','1',10]
'' 'Pozovite prilagođenu funkciju za spremanje
rezultat presjeka liste1 i liste2
na popis3 '' '

popis3=intersectLists(popis1,popis2)
# Ispis popisa1
ispisati('Vrijednosti liste1: n',popis1)
# Ispis popisa2
ispisati('Vrijednosti liste2: n',popis2)
# Ispis popisa3
ispisati('Vrijednosti popisa3 nakon presijecanja popisa1 i popisa2: n',popis3)

Izlaz

Sljedeći izlaz pojavit će se nakon pokretanja skripte. Ovdje su zajedničke vrijednosti između dva popisa '2', '8' i 'Hello'.

Primjer 3: Presijecanje popisa putem metode petlje

Prethodna dva primjera prikazuju presjek popisa pomoću ugrađenih funkcija. Sljedeći primjer prikazuje presjek popisa bez ikakve ugrađene funkcije. To se može postići pomoću petlje. U popisu su deklarirana dva popisa tekstualnih podataka. The za loop se ovdje koristi za otkrivanje zajedničkih vrijednosti teksta između popis1 i popis2, i koji su pohranjeni u varijabli, popis3 . Zatim se ispisuju vrijednosti ove tri varijable popisa.

#!/usr/bin/env python3

# Definirajte popis1
popis1= ['Farhan','Abir','Akash','Meena','Mazher']
# Definirajte popis2
popis2= ['Meena','Moyna','Nobel','Bliže','Abir','Farheen']
# Pronađite sjecište pomoću for petlje i spremite rezultat u list3
popis3= [vrijednostzavrijednostupopis1akovrijednostupopis2]

# Ispis popisa1
ispisati('Vrijednosti liste1: n',popis1)
# Ispis popisa2
ispisati('Vrijednosti liste2: n',popis2)
# Ispis popisa3
ispisati('Vrijednosti popisa3 nakon presijecanja popisa1 i popisa2: n',popis3)

Izlaz

Sljedeći izlaz pojavit će se nakon pokretanja skripte. Ovdje su uobičajene tekstualne vrijednosti dvaju popisa 'Abir' i 'Meena.'

Primjer 4: Presijecanje jednostavnih i ugniježđenih popisa putem metode filter ()

Sljedeći primjer prikazuje presjek između jednostavnog popisa i ugniježđenog popisa. The filtar() metoda i lambda funkcije koriste se u skripti za provođenje presjeka između liste1 i liste2. Kada popis sadrži jedan ili više popisa kao stavki popisa, tada se popis naziva ugniježđenim popisom. Ovdje, popis1 jednostavan je popis i popis2 je ugniježđeni popis, dok popis3 sadrži vrijednosti presjeka od popis1 i popis2 .

#!/usr/bin/env python3

# Definirajte jednostavan popis
popis1= [22, 8, Četiri pet, jedanaest, 3. 4, 9, dvadeset, 7]
# Definirajte ugniježđeni popis
popis2= [[12, 9, dvadeset], [78, jedanaest, 53, 8], [2, 30, 31, Četiri pet]]
# Napravite popis3 presijecanjem popisa1 i popisa2 pomoću filtera ()
popis3= [popis(filtar(lambdan: nupopis1,popis)) zapopisupopis2]

# Ispis popisa1
ispisati('Vrijednosti liste1: n',popis1)
# Ispis popisa2
ispisati('Vrijednosti liste2: n',popis2)
# Ispis popisa3
ispisati('Vrijednosti popisa3 nakon presijecanja popisa1 i popisa2: n',popis3)

Izlaz

Sljedeći izlaz pojavit će se nakon pokretanja skripte. Varijabla list2 sadrži još tri popisa kao stavke popisa. Dakle, rezultat pokazuje sjecište između ova tri podpopisa liste2 s popisom1.

Zaključak

Raskrižje popisa koristan je način za pronalaženje zajedničkih vrijednosti između popisa koji sadrže veliki broj stavki popisa. Metode izvođenja presjeka popisa sa i bez ugrađenih funkcija prikazane su u ovom vodiču. Nakon što pročitate ovaj članak, koncept raskrižja popisa trebao bi biti jasan i trebali biste moći primijeniti raskrižje popisa u svojoj skripti slijedeći bilo koji način prikazan u ovom vodiču.