Python

Liste kryss i Python

Liste kryss i Python
Det finnes mange objektvariabler i python for å lagre en rekke datatyper. De liste er en av disse variablene og kan lagre forskjellige typer data for forskjellige behov. Noen ganger må vi finne vanlige, uvanlige eller både vanlige og uvanlige dataelementer fra flere lister for programmeringsformål. Python inneholder flere innebygde funksjoner og operatører som kan utføre denne typen oppgaver for Python-sett. Finne vanlige data fra flere lister kalles listekryss, men det er ingen operatør eller innebygd funksjon for lister som sett for å finne de vanlige dataelementene fra flere lister. Denne opplæringen viser deg hvordan du krysser lister i Python.

Kryss

Før du begynner på denne veiledningen, vil begrepet skjæringspunkt bli forklart. Nedenfor er to gitt som et eksempel:

Liste1 = [4, 7, 23, 9, 6, 11]
Liste2 = [6, 5, 1, 20, 9, 7, 4, 3]

Etter at krysset er brukt, hvis resultatet er lagret i en annen liste, kanskje kalt List3, vil den inneholde følgende data.

Liste3 = [4, 6, 7, 9]

Den grafiske representasjonen av List3 er vist nedenfor:

Eksempel 1: Kryssende lister via set () -metoden

Følgende eksempel viser hvordan du kan krysse to lister ved hjelp av sett() metoden og & operatør. To lister, navngitt liste1 og liste2, er erklært her. Begge disse listene inneholder numeriske verdier. Den tredje listen genereres ved å konvertere liste1 og liste 2 til settet via settet() metode og bruke kryss ved å bruke & operatør. Deretter skrives verdiene til de tre listene ut.

#!/ usr / bin / env python3
# Definer liste1
liste1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definer liste2
liste2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Opprett liste3 ved å krysse liste1 og liste2
list3 = liste (sett (liste1) & sett (liste2))
# Skriv ut liste1
print ("Verdiene til liste1: \ n", liste1)
# Skriv ut liste2
print ("Verdiene til liste2: \ n", liste2)
# Skriv ut liste 3
print ("Verdiene til liste3 etter kryssende liste1 og liste2: \ n", liste3)

Produksjon

Følgende utdata vises etter kjøring av skriptet. Tre verdier er felles for begge listene. Disse verdiene er 8, 9 og 20, og vises i innholdet på den tredje listen.

Eksempel 2: Kryssende lister via skjæringsmetoden ()

Det er ingen direkte, innebygd metode for listeobjektet for å finne ut skjæringsverdiene mellom to lister. Settet har imidlertid en innebygd metode, navngitt kryss(), for å finne ut de vanlige verdiene mellom settene. En tilpasset funksjon, kalt intersectionLists (), er definert i følgende skript for å finne ut de vanlige verdiene mellom de to listene. En begrensning av dette settet er at det bare kan inneholde numeriske data. En listevariabel kan inneholde forskjellige typer datastrenger, inkludert numerisk, boolsk osv. I manuset, liste1 og liste2 inneholder alle strengdata inkludert og tekst. Skriptet vil skrive ut alle vanlige streng- og numeriske verdier mellom liste1 og liste2.

#!/ usr / bin / env python3
 
# Definer funksjonen for å returnere skjæringspunktet mellom to lister
def intersectLists (liste1, liste2):
retur sett (liste1).kryss (liste2)
 
# Definer liste1
list1 = ['Hei', '7', '8', '10', '2']
# Definer liste2
list2 = ['8', '34', 'Hei', '2', '21', '1', 10]
"Ring den egendefinerte funksjonen for å lagre
kryssresultatet for liste1 og liste2
inn i liste3 "
list3 = intersectLists (liste1, liste2)
# Skriv ut liste1
print ("Verdiene til liste1: \ n", liste1)
# Skriv ut liste2
print ("Verdiene til liste2: \ n", liste2)
# Skriv ut liste 3
print ("Verdiene til liste3 etter kryssende liste1 og liste2: \ n", liste3)

Produksjon

Følgende utdata vises etter kjøring av skriptet. Her er vanlige verdier mellom de to listene '2', '8' og 'Hei.'

Eksempel 3: Kryssende lister via loop-metoden

De to foregående eksemplene viser listekryss ved hjelp av innebygde funksjoner. Følgende eksempel viser listekryss uten noen innebygd funksjon. Dette kan oppnås ved å bruke løkken. To lister med tekstdata er erklært i skriptet. De til loop brukes her for å finne ut de vanlige tekstverdiene mellom liste1 og liste2, og som er lagret i variabelen, liste3. Deretter skrives verdiene til disse tre listevariablene ut.

#!/ usr / bin / env python3
 
# Definer liste1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Definer liste2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Finn krysset ved hjelp av for loop og lagre resultatet i liste3
liste3 = [verdi for verdi i liste1 hvis verdi i liste2]
 
# Skriv ut liste1
print ("Verdiene til liste1: \ n", liste1)
# Skriv ut liste2
print ("Verdiene til liste2: \ n", liste2)
# Skriv ut liste 3
print ("Verdiene til liste3 etter kryssende liste1 og liste2: \ n", liste3)

Produksjon

Følgende utdata vises etter kjøring av skriptet. Her er de vanlige tekstverdiene til de to listene 'Abir' og 'Meena.'

Eksempel 4: Kryssing av enkle og nestede lister via filter () -metoden

Følgende eksempel viser skjæringspunktet mellom en enkel liste og en nestet liste. De filter() metode og lambda funksjonen brukes i skriptet for å lede skjæringspunktet mellom liste1 og liste2. Når en liste inneholder en eller flere lister som listeelementer, kalles listen en nestet liste. Her, liste1 er en enkel liste, og liste2 er en nestet liste, mens liste3 inneholder kryssverdiene til liste1 og liste2.

#!/ usr / bin / env python3
 
# Definer en enkel liste
liste1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definer en nestet liste
liste2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Opprett liste3 ved å krysse liste1 og liste2 ved hjelp av filter ()
list3 = [liste (filter (lambda n: n i liste1, liste)) for liste i liste2]
 
# Skriv ut liste1
print ("Verdiene til liste1: \ n", liste1)
# Skriv ut liste2
print ("Verdiene til liste2: \ n", liste2)
# Skriv ut liste 3
print ("Verdiene til liste3 etter kryssende liste1 og liste2: \ n", liste3)

Produksjon

Følgende utdata vises etter kjøring av skriptet. List2-variabelen inneholder tre andre lister som listeelementer. Så resultatet viser skjæringspunktet mellom disse tre underlistene til liste2 med liste1.

Konklusjon

Listekryss er en nyttig måte å finne de vanlige verdiene mellom lister som inneholder et stort antall listeelementer. Metoder for å utføre listekryss med og uten innebygde funksjoner vises i denne veiledningen. Etter å ha lest denne artikkelen, bør konseptet med listekrysset være klart, og du bør kunne bruke listekryss i skriptet ditt ved å følge den måten som vises i denne veiledningen.

Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...
Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...