Lijsten samenvoegen in Python

Lijsten Samenvoegen In Python



Python-lijsten zijn veelzijdige en veelgebruikte datastructuren die de opslag en manipulatie van verzamelingen items mogelijk maken. Een veel voorkomende handeling bij het werken met lijsten is aaneenschakeling, waarbij twee of meer lijsten worden gecombineerd om een ​​nieuwe lijst te maken. Dit proces is vooral handig bij het samenvoegen van de gegevens of het maken van een grotere lijst van kleinere. Lijstaaneenschakeling kan worden bereikt met behulp van verschillende methoden, en het begrijpen van deze technieken is van fundamenteel belang om efficiënt met lijsten in Python te kunnen werken. Of u nu lijsten met getallen, tekenreeksen of complexe objecten samenvoegt, door de aaneenschakeling van lijsten onder de knie te krijgen, kunt u de gegevens op verschillende manieren manipuleren en ordenen.

Voorbeeld 1: Lijsten aaneenschakelen met de operator “+”.

We kunnen de operator “+” in Python gebruiken om de lijsten samen te voegen. Met de operator “+” kunt u twee of meer lijsten samenvoegen om een ​​nieuwe lijst te vormen. Wanneer u de operator “+” gebruikt bij lijsten, wordt er een nieuwe lijst gemaakt en worden de elementen van de oorspronkelijke lijsten naar de nieuwe lijst gekopieerd in de volgorde waarin ze verschijnen.

Hier is een eenvoudig voorbeeld:







blad 1 = [ 1 , 2 , 3 ]

lijst2 = [ 4 , 5 , 6 ]

resultaatlijst = lijst1 + lijst2

afdrukken ( resultaatlijst )

We hebben twee lijsten in deze illustratie: “lijst1” en “lijst2”. We gebruiken de operator “+” om ze in één lijst te integreren. Bij gebruik met lijsten voegt de operator “+” ze samen, wat betekent dat de elementen van de tweede lijst worden samengevoegd met het einde van de eerste. Dus na het uitvoeren van de “result_list = list1 + list2″, zal de “result_list” de elementen van zowel “list1” als “list2” bevatten in de volgorde waarin ze zijn samengevoegd.





Hoewel deze methode beknopt is, moet u er rekening mee houden dat er een nieuwe lijst mee wordt gemaakt, die mogelijk niet efficiënt is voor grote lijsten vanwege de overhead die gepaard gaat met het maken van een kopie.





Voorbeeld 2: Gebruik van de Extend()-methode

De items van een iterabele kunnen aan het einde van een bestaande lijst worden toegevoegd met behulp van de methode extend(). Het wijzigt de oorspronkelijke lijst, in tegenstelling tot de “+” operator die een nieuwe lijst creëert.

Stel dat we een lijst met leerlingen in een klas hebben, en we willen deze lijst uitbreiden door de namen toe te voegen van nieuwe leerlingen die onlangs lid zijn geworden met behulp van de methode extend(). Zo kunt u het aanpakken:



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

nieuwe studenten = [ 'David' , 'Eva' , 'Adam' ]

klas_studenten. verlengen ( nieuwe studenten )

afdrukken ( 'Bijgewerkte lijst met studenten:' , klas_studenten )

In dit voorbeeld bevat de oorspronkelijke lijst, die 'class_students' is, de namen van bestaande studenten. De lijst ‘nieuwe_studenten’ bevat de namen van leerlingen die onlangs bij de klas zijn gekomen. Door de methode extend() toe te passen, voegen we de namen van de nieuwe studenten toe aan het einde van de oorspronkelijke lijst.

Voorbeeld 3: De operator “+=” toepassen voor concatenatie

De operator “+=” is een afkorting voor de methode extend(). Het wijzigt de bestaande lijst en combineert de elementen van de rechterlijst in de linkerlijst.

Stel dat we een lijst met favoriete kleuren hebben en deze willen bijwerken door meer kleuren toe te voegen met behulp van de operator “+=”.

favoriete kleuren = [ 'blauw' , 'groente' , 'rood' ]

extra_kleuren = [ 'paars' , 'oranje' , 'geel' ]

favoriete_kleuren + = extra_kleuren

afdrukken ( 'Bijgewerkte favoriete kleuren:' , favoriete kleuren )

In dit scenario beginnen we met een lijst met onze favoriete kleuren, die wordt weergegeven door “favoriete_kleuren”. Dan hebben we een aantal nieuwe kleuren die we willen opnemen in de lijst 'aanvullende_kleuren'. Met behulp van de “+= operator” combineren we de nieuwe kleuren met onze bestaande favorieten, waardoor de lijst “favorite_colors” wordt aangepast.

Na de operatie, wanneer we “Onze bijgewerkte favoriete kleuren” afdrukken, kunnen we het volgende resultaat zien:

Voorbeeld 4: Gebruik van de operator “*”.

De operator “*” kan worden gebruikt voor lijstreplicatie. Maar wanneer het wordt toegepast op lijsten, kan het deze aaneenschakelen door de elementen te herhalen.

Hier is een voorbeeld:

originele_lijst = [ 1 , 2 , 3 ]

aaneengeschakelde_lijst = originele_lijst * 3

afdrukken ( aaneengeschakelde_lijst )

In dit geval beginnen we met een “original_list” die de elementen [1, 2, 3] bevat. Met behulp van de operator “*” maken we een nieuwe lijst, de “concatenated_list” die bestaat uit drie herhalingen van de elementen uit de oorspronkelijke lijst.

Hoewel deze aanpak minder gebruikelijk is bij aaneenschakeling, demonstreert het de flexibiliteit van de operators van Python.

Voorbeeld 5: De functie Itertools.chain() toepassen

De functie itertools.chain() maakt deel uit van de module “itertools” en wordt gebruikt om de iterabele objecten (zoals lijsten, tupels of andere iterabele objecten) samen te voegen tot één enkele “iterable”. In tegenstelling tot sommige andere aaneenschakelingsmethoden creëert itertools.chain() geen nieuwe lijst, maar produceert het een iterator over de elementen van de ingevoerde iterabelen.

van itertools importeren ketting

L1 = [ 1 , 2 , 3 ]

L2 = [ 'X' , 'En' , 'Met' ]

aaneengeschakeld_itereerbaar = ketting ( L1 , L2 )

resultaatlijst = lijst ( aaneengeschakeld_itereerbaar )

afdrukken ( resultaatlijst )

In het gegeven voorbeeld hebben we twee lijsten – “L1” bevat de numerieke waarden [1, 2, 3] en “L2” bevat de alfabetische tekens [“x”, “y”, “z”]. Met behulp van de functie itertools.chain() voegen we deze lijsten samen tot één iterabele, weergegeven door “concatenated_iterable”. De functie list() wordt vervolgens toegepast om de iterabele om te zetten in een lijst die resulteert in de gecombineerde lijst [1, 2, 3, 'x', 'y', 'z'].

Voorbeeld 6: Lijst segmenteren

Door een reeks indices aan te bieden, is list slicing een techniek waarmee we een subset van een lijst kunnen ophalen. Hierbij wordt de operator dubbele punt (:) tussen de vierkante haken gebruikt om de start-, stop- en, optioneel, stapwaarden aan te geven.

Hier is de voorbeeldcode:

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

gesneden_lijst = actuele_lijst [ 1 : 4 ]

afdrukken ( gesneden_lijst )

We beginnen de illustratie met een originele lijst met getallen die wordt aangeduid als “actual_list” en die de elementen [1, 2, 3, 4, 5] bevat. We extraheren een specifiek segment van de lijst door gebruik te maken van list slicing, een krachtige functie in Python. In dit geval wordt het segment “actual_list[1:4]” gebruikt en worden de elementen uit index 1 tot en met index 3 gekozen (maar niet uit index 4). Het resultaat is een nieuwe lijst, genaamd “sliced_list”, die het gesegmenteerde gedeelte [2, 3, 4] bevat.

Voorbeeld 7: Aaneenschakeling met de functie Zip().

De functie zip() combineert de elementen uit meerdere iterabelen, waardoor paren of tupels van overeenkomstige elementen ontstaan. De elementen van elke iteratie op dezelfde index worden gebruikt om deze paren te maken.

studenten = [ 'Alice' , 'Bob' , 'Charlie' ]

cijfers = [ 85 , 92 , 78 ]

student_grade_pairs = ritssluiting ( studenten , cijfers )

resultaat_dict = dictaat ( student_grade_pairs )

afdrukken ( 'Studenten-graadparen:' , resultaat_dict )

In dit voorbeeld koppelt de functie zip() de namen van de leerlingen uit de lijst “studenten” aan de overeenkomstige cijfers uit de lijst “cijfers” wat resulteert in een woordenboek waarin elke leerling aan zijn respectievelijke cijfer wordt gekoppeld.

Conclusie

Kortom, Python biedt een groot aantal manieren om de lijsten aan elkaar te koppelen, elk met zijn voordelen. Toen we de verschillende methoden onderzochten, van de eenvoudige “+” operator tot de meer genuanceerde zip()-functie, werd het duidelijk dat Python tegemoetkomt aan diverse programmeerstijlen en voorkeuren. Afhankelijk van het uit te voeren werk zullen factoren als leesbaarheid, geheugenefficiëntie en het type gegevens dat wordt verwerkt bepalen welke methode het beste is.