Saraksta krustojums Python

List Intersection Python



Python ir daudz objektu mainīgo, lai saglabātu dažādus datu veidus. The sarakstu ir viens no šiem mainīgajiem un var uzglabāt dažāda veida datus dažādām vajadzībām. Dažreiz programmēšanas nolūkos no vairākiem sarakstiem mums jāatrod parastie, retāk sastopamie vai abi kopējie un neparastie datu vienumi. Python satur vairākas iebūvētas funkcijas un operatorus, kas var veikt šāda veida uzdevumus Python kopām. Kopīgu datu atrašana no vairākiem sarakstiem tiek saukta par sarakstu krustojumu, taču sarakstiem, piemēram, kopām, nav operatora vai iebūvētas funkcijas, lai atrastu kopīgos datu vienumus no vairākiem sarakstiem. Šī apmācība parādīs, kā krustot sarakstus Python.

Krustojums

Pirms šīs apmācības uzsākšanas tiks paskaidrots krustojuma jēdziens. Tālāk divi ir doti kā piemērs:







Saraksts1= [4, 7, 2. 3, 9, 6, vienpadsmit]
Saraksts2= [6, 5, 1, divdesmit, 9, 7, 4, 3]

Ja pēc krustojuma piemērošanas rezultāts tiek saglabāts citā sarakstā, iespējams, ar nosaukumu List3, tad tajā būs šādi dati.



Saraksts3= [4, 6, 7, 9]

Saraksta 3 grafiskais attēlojums ir parādīts zemāk:







1. piemērs: krustošanās saraksti, izmantojot set () metodi

Šis piemērs parāda, kā jūs varat krustot divus sarakstus, izmantojot komplekts () metode un & operators. Šeit tiek deklarēti divi saraksti ar nosaukumu list1 un list2. Abos šajos sarakstos ir skaitliskas vērtības. Trešais saraksts tiek ģenerēts, pārvēršot sarakstu 1 un sarakstu 2 komplektā, izmantojot kopu () metodi un krustojuma piemērošanu, izmantojot & operators. Pēc tam tiek izdrukātas trīs sarakstu vērtības.

#!/usr/bin/env python3
# Definējiet sarakstu1
saraksts1= [22, 8, Četri, pieci, vienpadsmit, 3. 4, 9, divdesmit, 7]
# Definējiet sarakstu2
saraksts2= [12, 9, divdesmit, 78, 53, 8, 2, 30,31]
# Izveidojiet sarakstu3, krustojot sarakstu1 un sarakstu2
saraksts3= sarakstu(komplekts(saraksts1)&komplekts(saraksts2))
# Drukāt sarakstu1
drukāt(“1. saraksta vērtības: n',saraksts1)
# Drukāt sarakstu2
drukāt(“2. saraksta vērtības: n',saraksts2)
# Drukāt sarakstu3
drukāt(Saraksta3 vērtības pēc saraksta1 un saraksta2 krustošanās: n',saraksts3)

Izeja



Pēc skripta palaišanas parādīsies šāda izvade. Abiem sarakstiem ir kopīgas trīs vērtības. Šīs vērtības ir 8, 9 un 20, un tās ir parādītas trešā saraksta saturā.

2. piemērs: krustošanās saraksti, izmantojot krustošanās () metodi

Saraksta objektam nav tiešas, iebūvētas metodes, lai noskaidrotu krustošanās vērtības starp diviem sarakstiem. Tomēr komplektam ir iebūvēta metode ar nosaukumu krustojums () , lai noskaidrotu kopu kopējās vērtības. Pielāgota funkcija ar nosaukumu intersectionLists () , ir definēts šādā skriptā, lai noskaidrotu abu sarakstu kopīgās vērtības. Viens no šīs kopas ierobežojumiem ir tas, ka tajā var būt tikai skaitliski dati. Saraksta mainīgais var saturēt dažāda veida datu virknes, tostarp skaitliskas, Būla vērtības utt. Skriptā saraksts1 un saraksts2 satur visus virknes datus, ieskaitot un tekstu. Skripts drukās visas parastās virkņu un ciparu vērtības saraksts1 un saraksts2 .

#!/usr/bin/env python3

# Definējiet funkciju, lai atgrieztu divu sarakstu krustojumu
defintersectLists(saraksts1,saraksts2):
atgriezties komplekts(saraksts1).krustojums(saraksts2)

# Definējiet sarakstu1
saraksts1= ['Sveiki','7','8',“10”,'2']
# Definējiet sarakstu2
saraksts2= ['8','3. 4','Sveiki','2','divdesmitviens','1',10]
'' 'Zvaniet uz pielāgoto funkciju, lai saglabātu
saraksta1 un saraksta2 krustošanās rezultāts
sarakstā 3 '

saraksts3=intersectLists(saraksts1,saraksts2)
# Drukāt sarakstu1
drukāt(“1. saraksta vērtības: n',saraksts1)
# Drukāt sarakstu2
drukāt(“2. saraksta vērtības: n',saraksts2)
# Drukāt sarakstu3
drukāt(Saraksta3 vērtības pēc saraksta1 un saraksta2 krustošanās: n',saraksts3)

Izeja

Pēc skripta palaišanas parādīsies šāda izvade. Šeit abu sarakstu kopīgās vērtības ir “2”, “8” un “Sveiki”.

3. piemērs: krustošanās saraksti, izmantojot cilpas metodi

Iepriekšējie divi piemēri parāda sarakstu krustošanos, izmantojot iebūvētās funkcijas. Šis piemērs parāda saraksta krustojumu bez iebūvētas funkcijas. To var panākt, izmantojot cilpu. Skriptā tiek deklarēti divi teksta datu saraksti. The priekš cilpa šeit tiek izmantota, lai uzzinātu kopējās teksta vērtības saraksts1 un saraksts2, un kas ir saglabāti mainīgajā, saraksts3 . Tālāk tiek izdrukātas šo trīs saraksta mainīgo vērtības.

#!/usr/bin/env python3

# Definējiet sarakstu1
saraksts1= ['Farhan','Abir','Akash','Meena','Mazher']
# Definējiet sarakstu2
saraksts2= ['Meena','Moyna','Nobels','Tuvāk','Abir','Farheen']
# Atrodiet krustojumu, izmantojot cilpu, un saglabājiet rezultātu sarakstā3
saraksts3= [vērtībupriekšvērtībuiekšāsaraksts1javērtībuiekšāsaraksts2]

# Drukāt sarakstu1
drukāt(“1. saraksta vērtības: n',saraksts1)
# Drukāt sarakstu2
drukāt(“2. saraksta vērtības: n',saraksts2)
# Drukāt sarakstu3
drukāt(Saraksta3 vērtības pēc saraksta1 un saraksta2 krustošanās: n',saraksts3)

Izeja

Pēc skripta palaišanas parādīsies šāda izvade. Šeit ir abu sarakstu kopējās teksta vērtības ‘Abir’ un 'Meena.'

4. piemērs: vienkāršu un ligzdotu sarakstu krustošanās, izmantojot filtra () metodi

Šajā piemērā ir parādīts krustojums starp vienkāršu sarakstu un ligzdotu sarakstu. The filtrs () metode un lambda funkcija tiek izmantota skriptā, lai veiktu krustošanos starp sarakstu1 un sarakstu2. Ja sarakstā kā saraksta vienums ir viens vai vairāki saraksti, sarakstu sauc par ligzdotu sarakstu. Šeit, saraksts1 ir vienkāršs saraksts, un saraksts2 ir ligzdots saraksts, savukārt saraksts3 satur krustošanās vērtības saraksts1 un saraksts2 .

#!/usr/bin/env python3

# Definējiet vienkāršu sarakstu
saraksts1= [22, 8, Četri, pieci, vienpadsmit, 3. 4, 9, divdesmit, 7]
# Definējiet ligzdotu sarakstu
saraksts2= [[12, 9, divdesmit], [78, vienpadsmit, 53, 8], [2, 30, 31, Četri, pieci]]
# Izveidojiet sarakstu3, krustojot sarakstu1 un sarakstu2, izmantojot filtru ()
saraksts3= [sarakstu(filtrs(lambdan: niekšāsaraksts1,šķēlums)) priekššķēlumsiekšāsaraksts2]

# Drukāt sarakstu1
drukāt(“1. saraksta vērtības: n',saraksts1)
# Drukāt sarakstu2
drukāt(“2. saraksta vērtības: n',saraksts2)
# Drukāt sarakstu3
drukāt(Saraksta3 vērtības pēc saraksta1 un saraksta2 krustošanās: n',saraksts3)

Izeja

Pēc skripta palaišanas parādīsies šāda izvade. Mainīgais saraksts2 kā saraksta vienumus satur vēl trīs sarakstus. Tātad rezultāts parāda krustojumu starp šiem trim saraksta2 apakšsarakstiem ar sarakstu1.

Secinājums

Sarakstu krustojums ir noderīgs veids, kā atrast kopējās vērtības sarakstos, kuros ir liels saraksts. Šajā apmācībā ir parādītas saraksta krustošanās metodes ar iebūvētām funkcijām un bez tām. Pēc šī raksta lasīšanas saraksta krustošanās jēdzienam jābūt skaidram, un jums vajadzētu būt iespējai lietot skripta saraksta krustojumu, ievērojot jebkādus šajā apmācībā norādītos veidus.