Pytonorm

Lista korsningen i Python

Lista korsningen i Python
Många objektvariabler finns i python för att lagra en mängd olika datatyper. De lista är en av dessa variabler och kan lagra olika typer av data för olika behov. Ibland måste vi hitta vanliga, ovanliga eller både vanliga och ovanliga dataobjekt från flera listor för programmeringsändamål. Python innehåller flera inbyggda funktioner och operatörer som kan utföra dessa typer av uppgifter för Python-uppsättningar. Hitta vanliga data från flera listor kallas listkorsning, men det finns ingen operatör eller inbyggd funktion för listor som uppsättningar för att hitta de vanliga dataobjekten från flera listor. Den här handledningen visar hur du korsar listor i Python.

Genomskärning

Innan du börjar denna handledning kommer begreppet korsning att förklaras. Nedan ges två som ett exempel:

List1 = [4, 7, 23, 9, 6, 11]
List2 = [6, 5, 1, 20, 9, 7, 4, 3]

Efter att korsningen har applicerats, om resultatet lagras i en annan lista, kanske med namnet List3, kommer den att innehålla följande data.

List3 = [4, 6, 7, 9]

Den grafiska representationen av List3 visas nedan:

Exempel 1: Korsningslistor via set () -metoden

Följande exempel visar hur du kan korsa två listor med hjälp av uppsättning() metod och & operatör. Två listor, namngivna list1 och list2, deklareras här. Båda dessa listor innehåller numeriska värden. Den tredje listan genereras genom att konvertera list1 och lista 2 till uppsättningen via uppsättningen() metod och korsning genom att använda & operatör. Därefter skrivs värdena för de tre listorna ut.

#!/ usr / bin / env python3
# Definiera lista1
list1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definiera lista2
list2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Skapa lista3 genom att korsa list1 och list2
list3 = lista (set (list1) & set (list2))
# Skriv ut lista1
print ("Värdena för list1: \ n", list1)
# Skriv ut lista2
print ("Värdena för list2: \ n", list2)
# Skriv ut lista3
skriv ut ("Värdena för list3 efter korsning av lista1 och list2: \ n", list3)

Produktion

Följande utdata visas efter körning av skriptet. Tre värden är gemensamma för båda listorna. Dessa värden är 8, 9 och 20 och visas i innehållet i den tredje listan.

Exempel 2: Korsningslistor via korsningsmetoden ()

Det finns ingen direkt, inbyggd metod för listobjektet för att ta reda på skärningsvärdena mellan två listor. Uppsättningen har dock en inbyggd metod, namngiven genomskärning(), för att ta reda på de gemensamma värdena mellan uppsättningarna. En anpassad funktion, namngiven korsningslistor (), definieras i följande skript för att ta reda på de gemensamma värdena mellan de två listorna. En begränsning av denna uppsättning är att den endast kan innehålla numeriska data. En listvariabel kan innehålla olika typer av datasträngar, inklusive numerisk, boolean, etc. I manuset, lista1 och lista2 innehåller alla strängdata inklusive och text. Skriptet skriver ut alla vanliga sträng- och numeriska värden mellan lista1 och lista2.

#!/ usr / bin / env python3
 
# Definiera funktionen för att återge skärningspunkten mellan två listor
def intersectLists (list1, list2):
returuppsättning (lista1).korsning (lista2)
 
# Definiera lista1
list1 = ['Hej', '7', '8', '10', '2']
# Definiera lista2
list2 = ['8', '34', 'Hej', '2', '21', '1', 10]
"Ring den anpassade funktionen för att lagra
korsningsresultatet för list1 och list2
in list3 "
list3 = intersectLists (list1, list2)
# Skriv ut lista1
print ("Värdena för list1: \ n", list1)
# Skriv ut lista2
print ("Värdena för list2: \ n", list2)
# Skriv ut lista3
skriv ut ("Värdena för list3 efter korsning av lista1 och list2: \ n", list3)

Produktion

Följande utdata visas efter körning av skriptet. Här är vanliga värden mellan de två listorna '2', '8' och 'Hej.''

Exempel 3: Korsning av listor via loop-metoden

De två föregående exemplen visar listkorsning med hjälp av inbyggda funktioner. Följande exempel visar listkorsning utan någon inbyggd funktion. Detta kan uppnås genom att använda slingan. Två listor med textdata deklareras i skriptet. De för loop används här för att ta reda på de vanliga textvärdena mellan lista1 och lista2, och som lagras i variabeln, lista3. Därefter skrivs värdena för dessa tre listvariabler ut.

#!/ usr / bin / env python3
 
# Definiera lista1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Definiera lista2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Hitta korsningen med hjälp av for loop och spara resultatet i list3
list3 = [värde för värde i lista1 om värde i lista2]
 
# Skriv ut lista1
print ("Värdena för list1: \ n", list1)
# Skriv ut lista2
print ("Värdena för list2: \ n", list2)
# Skriv ut lista3
skriv ut ("Värdena för list3 efter korsning av lista1 och list2: \ n", list3)

Produktion

Följande utdata visas efter körning av skriptet. Här är de vanliga textvärdena för de två listorna 'Abir' och 'Meena.''

Exempel 4: Korsning av enkla och kapslade listor via metoden filter ()

Följande exempel visar skärningspunkten mellan en enkel lista och en kapslad lista. De filtrera() metod och lambda funktionen används i skriptet för att genomföra skärningspunkten mellan list1 och list2. När en lista innehåller en eller flera listor som listobjekt kallas listan en kapslad lista. Här, lista1 är en enkel lista och lista2 är en kapslad lista, medan lista3 innehåller korsningsvärdena för lista1 och lista2.

#!/ usr / bin / env python3
 
# Definiera en enkel lista
list1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definiera en kapslad lista
list2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Skapa lista3 genom att korsa list1 och list2 med filter ()
list3 = [lista (filter (lambda n: n i list1, list)) för list i lista2]
 
# Skriv ut lista1
print ("Värdena för list1: \ n", list1)
# Skriv ut lista2
print ("Värdena för list2: \ n", list2)
# Skriv ut lista3
skriva ut ("Värdena för list3 efter skärningslista list1 och list2: \ n", list3)

Produktion

Följande utdata visas efter körning av skriptet. List2-variabeln innehåller tre andra listor som listobjekt. Så resultatet visar skärningspunkten mellan dessa tre underlistor av list2 med list1.

Slutsats

Listkorsning är ett användbart sätt att hitta de vanliga värdena mellan listor som innehåller ett stort antal listobjekt. Metoder för att utföra listkorsning med och utan inbyggda funktioner visas i denna handledning. Efter att ha läst den här artikeln bör konceptet med listkorsningen vara tydligt och du bör kunna använda listkorsning i ditt skript genom att följa något sätt som visas i denna handledning.

Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...