Liste -krysset i Python

Liste -krysset i Python
Mange objektvariabler finnes 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 denne opplæringen, vil kryssingsbegrepet 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 å ha brukt krysset, hvis resultatet er lagret i en annen liste, kanskje kalt List3, vil det inneholde følgende data.

Liste3 = [4, 6, 7, 9]

Den grafiske representasjonen av LIST3 er vist nedenfor:

Eksempel 1: krysser lister via SET () -metoden

Følgende eksempel viser hvordan du kan krysse to lister ved hjelp av sett() metode og Og operatør. To lister, kalt List1 og List2, 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 Og operatør. Deretter skrives verdiene til de tre listene.

#!/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 = LIST (SET (LIST1) & SET (LIST2))
# Utskriftsliste1
print ("Verdiene til liste1: \ n", liste1)
# Utskriftsliste2
print ("Verdiene til liste2: \ n", liste2)
# Utskriftsliste3
PRINT ("Verdiene til liste3 etter kryssende liste1 og liste2: \ n", liste3)

Produksjon

Følgende utgang vises etter å ha kjørt 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: krysser lister via krysset ()

Det er ingen direkte, innebygd metode for listeobjektet for å finne ut kryssverdiene mellom to lister. Imidlertid har settet en innebygd metode, kalt kryss(), for å finne ut de felles verdiene mellom settene. En tilpasset funksjon, kalt Interseksjonslister (), er definert i følgende skript for å finne ut de felles verdiene mellom de to listene. En begrensning av dette settet er at det bare kan inneholde numeriske data. En listevariabel kan inneholde forskjellige typer datastreng, 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 krysset mellom to lister
Def IntersectLists (List1, List2):
Retursett (liste1).kryss (liste2)
# Definer liste1
liste1 = ['Hello', '7', '8', '10', '2']
# Definer liste2
liste2 = ['8', '34', 'Hello', '2', '21', '1', 10]
"Ring den tilpassede funksjonen for å lagre
kryssingsresultatet av liste1 og liste2
inn i liste3 "
List3 = IntersectLists (List1, List2)
# Utskriftsliste1
print ("Verdiene til liste1: \ n", liste1)
# Utskriftsliste2
print ("Verdiene til liste2: \ n", liste2)
# Utskriftsliste3
PRINT ("Verdiene til liste3 etter kryssende liste1 og liste2: \ n", liste3)

Produksjon

Følgende utgang vises etter å ha kjørt skriptet. Her er vanlige verdier mellom de to listene '2', '8' og 'Hallo.'

Eksempel 3: krysser lister via loopmetoden

De to foregående eksemplene viser veikryss ved hjelp av innebygde funksjoner. Følgende eksempel viser listekrysset uten noen innebygd funksjon. Dette kan oppnås ved å bruke sløyfen. 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.

#!/usr/bin/env python3
# Definer liste1
LIST1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Definer liste2
LIST2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Finn krysset som bruker for loop og lagre resultatet i LIST3
liste3 = [verdi for verdi i liste1 hvis verdi i liste2]
# Utskriftsliste1
print ("Verdiene til liste1: \ n", liste1)
# Utskriftsliste2
print ("Verdiene til liste2: \ n", liste2)
# Utskriftsliste3
PRINT ("Verdiene til liste3 etter kryssende liste1 og liste2: \ n", liste3)

Produksjon

Følgende utgang vises etter å ha kjørt skriptet. Her er de vanlige tekstverdiene til de to listene 'Abir' og 'Meena.'

Eksempel 4: krysser 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 Funksjon brukes i skriptet for å gjennomføre skjæringspunktet mellom LIST1 og LIST2. 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 = [List (filter (lambda n: n i liste1, slist) for slist i list2]
# Utskriftsliste1
print ("Verdiene til liste1: \ n", liste1)
# Utskriftsliste2
print ("Verdiene til liste2: \ n", liste2)
# Utskriftsliste3
PRINT ("Verdiene til liste3 etter kryssende liste1 og liste2: \ n", liste3)

Produksjon

Følgende utgang vises etter å ha kjørt skriptet. List2 -variabelen inneholder tre andre lister som listeelementer. Så resultatet viser skjæringspunktet mellom disse tre underlistene til List2 med List1.

Konklusjon

Listekryss er en nyttig måte å finne de vanlige verdiene mellom lister som inneholder et stort antall listeelementer. Metoder for utførelse av kryssing av liste med og uten innebygde funksjoner vises i denne opplæringen. Etter å ha lest denne artikkelen, skal konseptet med liste -krysset være klart, og du skal kunne bruke listekryss i skriptet ditt ved å følge noen måte vist i denne opplæringen.