Hur man sammanfogar listor i Python

Hur Man Sammanfogar Listor I Python



Python-listor är mångsidiga och allmänt använda datastrukturer som tillåter lagring och manipulering av samlingar av föremål. En vanlig operation när man arbetar med listor är sammanlänkning som innebär att man kombinerar två eller flera listor för att skapa en ny lista. Denna process är särskilt användbar när du slår samman data eller skapar en större lista från mindre. Listsammansättning kan uppnås med olika metoder, och att förstå dessa tekniker är grundläggande för att effektivt arbeta med listor i Python. Oavsett om du slår samman listor med siffror, strängar eller komplexa objekt, kan du genom att bemästra listsammansättningen manipulera och organisera data på olika sätt.

Exempel 1: Sammanfoga listor med '+'-operatör

Vi kan använda operatorn '+' i Python för att sammanfoga listorna. Med operatorn '+' kan du slå samman två eller flera listor för att bilda en ny lista. När du använder operatorn '+' med listor skapas en ny lista och elementen i de ursprungliga listorna kopieras till den nya listan i den ordning de visas.

Här är ett enkelt exempel:







blad 1 = [ 1 , 2 , 3 ]

lista 2 = [ 4 , 5 , 6 ]

resultatlista = lista1 + lista2

skriva ut ( resultatlista )

Vi har två listor i den här illustrationen: 'list1' och 'list2'. Vi använder operatorn '+' för att integrera dem i en enda lista. När den används med listor, sammanfogar operatorn '+' dem, vilket betyder att den förenar elementen i den andra listan till slutet av den första. Så efter att ha kört 'result_list = list1 + list2', kommer 'result_list' att innehålla elementen i både 'list1' och 'list2' i den ordning som de sammanlänkades.





Även om den här metoden är kortfattad, tänk på att den skapar en ny lista som kanske inte är effektiv för stora listor på grund av överkostnaderna för att skapa en kopia.





Exempel 2: Använda Extend()-metoden

Objekten i en iterabel kan läggas till i slutet av en befintlig lista med metoden extend(). Den ändrar den ursprungliga listan på plats, till skillnad från operatorn '+' som skapar en ny lista.

Låt oss anta att vi har en lista över elever i en klass, och vi vill utöka den här listan genom att lägga till namnen på nya elever som nyligen gick med med metoden extend() . Så här kan du gå tillväga:



klass_elever = [ 'Alice' , 'Bella' , 'Charlie' ]

nya_studenter = [ 'David' , 'Eva' , 'Adam' ]

klass_elever. förlänga ( nya_studenter )

skriva ut ( 'Uppdaterad lista över studenter:' , klass_elever )

I det här exemplet innehåller den ursprungliga listan som är 'klass_elever' namnen på befintliga elever. Listan 'nya_studenter' innehåller namnen på elever som nyligen gick med i klassen. Genom att använda metoden extend() lägger vi till namnen på de nya eleverna i slutet av den ursprungliga listan.

Exempel 3: Användning av '+='-operatorn för sammanlänkning

Operatorn “+=” är en förkortning för metoden extend(). Den ändrar listan på plats och kombinerar elementen i den högra listan till den vänstra listan.

Anta att vi har en lista med favoritfärger och vi vill uppdatera den genom att lägga till fler färger med operatorn '+='.

favoritfärger = [ 'blå' , 'grön' , 'röd' ]

ytterligare_färger = [ 'lila' , 'orange' , 'gul' ]

favoritfärger + = ytterligare_färger

skriva ut ( 'Uppdaterade favoritfärger:' , favoritfärger )

I det här scenariot börjar vi med en lista över våra favoritfärger som representeras av 'favoritfärger'. Sedan har vi några nya färger som vi vill inkludera i listan 'ytterligare_färger'. Med '+=-operatorn' kombinerar vi de nya färgerna med våra befintliga favoriter, och ändrar listan 'favoritfärger'.

Efter operationen, när vi skriver ut 'Våra uppdaterade favoritfärger', kan vi se följande resultat:

Exempel 4: Användning av '*'-operatören

Operatorn '*' kan användas för listreplikering. Men när den tillämpas på listor kan den sammanfoga dem genom att upprepa elementen.

Här är ett exempel:

original_list = [ 1 , 2 , 3 ]

concatenated_list = original_list * 3

skriva ut ( concatenated_list )

I det här fallet börjar vi med en 'original_list' som innehåller elementen [1, 2, 3]. Med hjälp av '*'-operatorn skapar vi en ny lista som är den 'concatenated_list' som består av tre upprepningar av elementen från den ursprungliga listan.

Även om detta tillvägagångssätt är mindre vanligt för sammanlänkning, visar det upp flexibiliteten hos Pythons operatörer.

Exempel 5: Tillämpa Itertools.chain()-funktionen

Itertools.chain()-funktionen är en del av 'itertools'-modulen och används för att sammanfoga de iterable (som listor, tuples eller andra iterable objekt) till en enda 'iterable'. Till skillnad från vissa andra sammanlänkningsmetoder skapar itertools.chain() inte en ny lista utan producerar en iterator över elementen i de ingående iterablerna.

från itertools importera kedja

L1 = [ 1 , 2 , 3 ]

L2 = [ 'x' , 'och' , 'Med' ]

concatenated_iterable = kedja ( L1 , L2 )

resultatlista = lista ( concatenated_iterable )

skriva ut ( resultatlista )

I det givna exemplet har vi två listor – 'L1' innehåller de numeriska värdena [1, 2, 3] och 'L2' innehåller de alfabetiska tecknen ['x', 'y', 'z']. Med funktionen itertools.chain() sammanfogar vi dessa listor till en enda iterabel, representerad av 'concatenated_iterable'. List()-funktionen används sedan för att konvertera den iterbara till en lista som resulterar i den kombinerade listan [1, 2, 3, 'x', 'y', 'z'].

Exempel 6: Listskivning

Genom att tillhandahålla en rad index är listskivning en teknik som låter oss hämta en delmängd av en lista. Det innebär att du använder kolon-operatorn (:) inom hakparenteserna för att indikera start-, stopp- och, valfritt, stegvärden.

Här är exempelkoden:

faktisk_lista = [ 1 , 2 , 3 , 4 , 5 ]

skivad_lista = faktisk_lista [ 1 : 4 ]

skriva ut ( skivad_lista )

Vi börjar illustrationen med en originallista med nummer som betecknas som 'faktisk_lista' som innehåller elementen [1, 2, 3, 4, 5]. Vi extraherar ett specifikt segment av listan genom att använda listslicing som är en kraftfull funktion i Python. Delen 'faktisk_lista[1:4]' används i det här fallet, och den väljer elementen från index 1 till index 3 (men inte från index 4). Resultatet är en ny lista, som heter 'sliced_list', som innehåller den skivade delen [2, 3, 4].

Exempel 7: Sammankoppling med Zip()-funktionen

Zip()-funktionen kombinerar elementen från flera iterables och skapar par eller tuplar av motsvarande element. Varje iterations element i samma index används för att skapa dessa par.

studenter = [ 'Alice' , 'Guppa' , 'Charlie' ]

betyg = [ 85 , 92 , 78 ]

student_betyg_par = blixtlås ( studenter , betyg )

resultat_dikt = dikt ( student_betyg_par )

skriva ut ( 'Student-Grad Par:' , resultat_dikt )

I det här exemplet parar zip()-funktionen elevnamnen från listan 'studenter' med deras motsvarande betyg från listan 'betyg', vilket resulterar i en ordbok där varje elev associeras med sitt respektive betyg.

Slutsats

Sammanfattningsvis erbjuder Python en mängd olika sätt att sammanfoga listorna, var och en med sina fördelar. När vi utforskade de olika metoderna, från den enkla '+'-operatorn till den mer nyanserade zip()-funktionen, blev det uppenbart att Python tillgodoser olika programmeringsstilar och preferenser. Beroende på arbetet kommer faktorer som läsbarhet, minneseffektivitet och vilken typ av data som bearbetas avgöra vilken metod som är bäst.