Loetlege ristmik Pythonis

List Intersection Python



Pythonis on palju objektimuutujaid mitmesuguste andmetüüpide salvestamiseks. The nimekirja on üks neist muutujatest ja võib salvestada erinevat tüüpi andmeid erinevate vajaduste jaoks. Mõnikord peame programmeerimise eesmärgil leidma mitmest loendist ühiseid, haruldasi või nii tavalisi kui ka ebatavalisi andmeelemente. Python sisaldab mitmeid sisseehitatud funktsioone ja operaatoreid, kes suudavad seda tüüpi ülesandeid Pythoni komplektide jaoks täita. Ühiste andmete leidmist mitmest loendist nimetatakse loendite ristumiskohaks, kuid sellistel loenditel nagu komplektid pole operaatorit ega sisseehitatud funktsiooni, et leida ühiseid andmeelemente mitmest loendist. See õpetus näitab teile, kuidas loendeid Pythonis ristuda.

Ristmik

Enne selle õpetuse alustamist selgitatakse ristmiku mõistet. Allpool on näitena toodud kaks:







Nimekiri1= [4, 7, 2. 3, 9, 6, üksteist]
Nimekiri2= [6, 5, 1, kakskümmend, 9, 7, 4, 3]

Kui tulemus on pärast ristmiku rakendamist salvestatud mõnda teise loendisse, võib -olla nimega List3, sisaldab see järgmisi andmeid.



Nimekiri3= [4, 6, 7, 9]

List3 graafiline esitus on näidatud allpool:







Näide 1: ristuvad loendid set () meetodi abil

Järgmine näide näitab, kuidas saate kahte loendit ristida, kasutades seatud () meetod ja & operaator. Siin deklareeritakse kaks loendit, nimega list1 ja list2. Mõlemad loendid sisaldavad arvväärtusi. Kolmas loend luuakse, teisendades loendi1 ja loendi 2 komplekti kaudu komplekti () meetodit ja ristmiku rakendamist & operaator. Järgmisena trükitakse kolme loendi väärtused.

#!/usr/bin/env python3
# Määrake loend1
nimekiri 1= [22, 8, Neli, viis, üksteist, 3. 4, 9, kakskümmend, 7]
# Määrake loend2
nimekiri2= [12, 9, kakskümmend, 78, 53, 8, 2, 30,31]
# Looge loend3, ristudes loendiga1 ja loendiga2
nimekiri3= nimekirja(seatud(nimekiri 1)&seatud(nimekiri2))
# Prindi loend1
printida(„Loendi 1 väärtused: n',nimekiri 1)
# Prindi loend2
printida(„Loendi2 väärtused: n',nimekiri2)
# Prindi loend3
printida(Loendi3 väärtused pärast loendi1 ja loendi2 lõikumist: n',nimekiri3)

Väljund



Pärast skripti käivitamist kuvatakse järgmine väljund. Mõlemal loendil on kolm ühist väärtust. Need väärtused on 8, 9 ja 20 ning need kuvatakse kolmanda loendi sisus.

Näide 2: ristuvad loendid ristumiskoha () meetodi kaudu

Loendiobjektil puudub otsene sisseehitatud meetod kahe loendi ristumisväärtuste väljaselgitamiseks. Komplektil on aga sisseehitatud meetod nimega ristmik () , et leida hulga ühiseid väärtusi. Kohandatud funktsioon nimega intersectionLists () , on määratletud järgmises skriptis, et leida kahe loendi ühised väärtused. Selle komplekti üks piirang on see, et see võib sisaldada ainult arvandmeid. Loendimuutuja võib sisaldada erinevat tüüpi andmestringe, sealhulgas numbrilist, tõeväärtust jne. Skriptis nimekiri 1 ja nimekiri2 sisaldavad kõiki stringi andmeid, sealhulgas ja teksti. Skript prindib vahele kõik tavalised stringi- ja numbrilised väärtused nimekiri 1 ja nimekiri2 .

#!/usr/bin/env python3

# Määrake kahe loendi ristumiskoha tagastamise funktsioon
defintersectLists(nimekiri 1,nimekiri2):
tagasi seatud(nimekiri 1).ristmik(nimekiri2)

# Määrake loend1
nimekiri 1= ['Tere','7','8','10','2']
# Määrake loend2
nimekiri2= ['8','3. 4','Tere','2','kakskümmend üks','1',10]
'' 'Helistage salvestamiseks kohandatud funktsioonile
loendi1 ja loendi2 ristumistulemus
nimekirja3 '

nimekiri3=intersectLists(nimekiri 1,nimekiri2)
# Prindi loend1
printida(„Loendi 1 väärtused: n',nimekiri 1)
# Prindi loend2
printida(„Loendi2 väärtused: n',nimekiri2)
# Prindi loend3
printida(Loendi3 väärtused pärast loendi1 ja loendi2 lõikumist: n',nimekiri3)

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund. Siin on kahe loendi ühised väärtused '2', '8' ja 'Tere'.

Näide 3: Loendite lõikamine silmusmeetodi abil

Eelmised kaks näidet näitavad loendi ristumist sisseehitatud funktsioonide abil. Järgmine näide näitab loendi ristumist ilma sisseehitatud funktsioonita. Seda on võimalik saavutada silmuse abil. Skriptis on deklareeritud kaks tekstiandmete loendit. The eest tsüklit kasutatakse siin ühiste tekstiväärtuste väljaselgitamiseks nimekiri 1 ja nimekiri2, ja mis on salvestatud muutujale, nimekiri3 . Järgmisena prinditakse nende kolme loendimuutuja väärtused.

#!/usr/bin/env python3

# Määrake loend1
nimekiri 1= ['Farhan','Abir','Akash','Meena','Mazher']
# Määrake loend2
nimekiri2= ['Meena','Moyna','Nobel','Lähemal','Abir','Farheen']
# Leidke ristmik silmuse abil ja salvestage tulemus loendisse3
nimekiri3= [väärtuseestväärtussissenimekiri 1kuiväärtussissenimekiri2]

# Prindi loend1
printida(„Loendi 1 väärtused: n',nimekiri 1)
# Prindi loend2
printida(„Loendi2 väärtused: n',nimekiri2)
# Prindi loend3
printida(Loendi3 väärtused pärast loendi1 ja loendi2 lõikumist: n',nimekiri3)

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund. Siin on kahe loendi ühised tekstiväärtused 'Abir' ja 'Meena.'

Näide 4: lihtsate ja pesastatud loendite lõikamine filtri () meetodi kaudu

Järgmine näide näitab lihtsa loendi ja pesastatud loendi lõikumist. The filter () meetod ja lambda funktsiooni kasutatakse skriptis loendi1 ja loendi2 ristumiskoha läbiviimiseks. Kui loend sisaldab loendiüksustena ühte või mitut loendit, nimetatakse seda loendit pesastatud loendiks. Siin, nimekiri 1 on lihtne nimekiri ja nimekiri2 on pesastatud loend, samas nimekiri3 sisaldab ristumiskoha väärtusi nimekiri 1 ja nimekiri2 .

#!/usr/bin/env python3

# Määratlege lihtne nimekiri
nimekiri 1= [22, 8, Neli, viis, üksteist, 3. 4, 9, kakskümmend, 7]
# Määrake pesastatud loend
nimekiri2= [[12, 9, kakskümmend], [78, üksteist, 53, 8], [2, 30, 31, Neli, viis]]
# Loo loend3, ristudes loend1 ja loend2 filtri () abil
nimekiri3= [nimekirja(filter(lambdan: nsissenimekiri 1,viil)) eestviilsissenimekiri2]

# Prindi loend1
printida(„Loendi 1 väärtused: n',nimekiri 1)
# Prindi loend2
printida(„Loendi2 väärtused: n',nimekiri2)
# Prindi loend3
printida(Loendi3 väärtused pärast loendi1 ja loendi2 lõikumist: n',nimekiri3)

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund. Muutuja list2 sisaldab loendielementidena veel kolme loendit. Niisiis, tulemus näitab ristumist nende kolme loendi2 alamloendi ja loendi1 vahel.

Järeldus

Loendite ristumiskoht on kasulik viis suure hulga loendiüksusi sisaldavate loendite ühiste väärtuste leidmiseks. Selles juhendis on näidatud meetodid loendi lõikamiseks sisseehitatud funktsioonidega ja ilma. Pärast selle artikli lugemist peaks loendi ristumiskoha mõiste olema selge ja teil peaks olema võimalik rakendada oma skriptis loendi ristumist, järgides mis tahes selles juhendis näidatud viisi.