Sådan sammenkædes lister i Python

Sadan Sammenkaedes Lister I Python



Python-lister er alsidige og udbredte datastrukturer, der tillader lagring og manipulation af samlinger af genstande. En almindelig operation, når du arbejder med lister, er sammenkædning, som involverer at kombinere to eller flere lister for at skabe en ny liste. Denne proces er især nyttig, når du flette dataene eller oprette en større liste fra mindre. Listesammenkædning kan opnås ved hjælp af forskellige metoder, og forståelsen af ​​disse teknikker er grundlæggende for effektivt at arbejde med lister i Python. Uanset om du fusionerer lister med tal, strenge eller komplekse objekter, giver beherskelse af listesammenkædningen dig mulighed for at manipulere og organisere dataene på forskellige måder.

Eksempel 1: Sammenkædning af lister med '+'-operatør

Vi kan bruge '+' operatoren i Python til at sammenkæde listerne. Ved at bruge '+'-operatoren kan du slutte dig til to eller flere lister for at danne en ny liste. Når du bruger '+'-operatoren med lister, oprettes en ny liste, og elementerne i de originale lister kopieres til den nye liste i den rækkefølge, de vises.

Her er et simpelt eksempel:







ark 1 = [ 1 , 2 , 3 ]

list2 = [ 4 , 5 , 6 ]

resultatliste = liste1 + liste2

Print ( resultatliste )

Vi har to lister i denne illustration: 'liste1' og 'liste2'. Vi bruger '+'-operatoren til at integrere dem i en enkelt liste. Når den bruges med lister, sammenkæder '+' operatoren dem, hvilket betyder, at den forbinder elementerne i den anden liste til slutningen af ​​den første. Så efter at have udført 'resultatliste = liste1 + liste2', vil 'resultatliste' indeholde elementerne fra både 'liste1' og 'liste2' i den rækkefølge, som de blev sammenkædet.





Selvom denne metode er kortfattet, skal du huske på, at den opretter en ny liste, som muligvis ikke er effektiv for store lister på grund af overhead ved at oprette en kopi.





Eksempel 2: Brug af Extend()-metoden

Elementerne i en iterabel kan føjes til slutningen af ​​en eksisterende liste ved hjælp af extend()-metoden. Den ændrer den oprindelige liste på plads, i modsætning til '+'-operatoren, der opretter en ny liste.

Lad os antage, at vi har en liste over elever i en klasse, og vi ønsker at udvide denne liste ved at tilføje navnene på nye elever, der for nylig er tilmeldt ved hjælp af extend()-metoden. Sådan kan du gøre det:



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

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

klasse_elever. forlænge ( nye_studerende )

Print ( 'Opdateret liste over studerende:' , klasse_elever )

I dette eksempel indeholder den originale liste, som er 'klasse_elever', navnene på eksisterende elever. Listen 'nye_elever' indeholder navnene på elever, der for nylig har sluttet sig til klassen. Ved at anvende extend()-metoden tilføjer vi navnene på de nye elever til slutningen af ​​den oprindelige liste.

Eksempel 3: Anvendelse af '+='-operatøren til sammenkædning

Operatoren '+=' er en forkortelse for extend()-metoden. Den ændrer listen på plads, og kombinerer elementerne fra den højre liste til den venstre liste.

Antag, at vi har en liste over yndlingsfarver, og vi vil opdatere den ved at tilføje flere farver ved at bruge '+='-operatoren.

favorit_farver = [ 'blå' , 'grøn' , 'rød' ]

yderligere_farver = [ 'lilla' , 'orange' , 'gul' ]

favorit_farver + = yderligere_farver

Print ( 'Opdaterede favoritfarver:' , favorit_farver )

I dette scenarie starter vi med en liste over vores yndlingsfarver, som er repræsenteret af 'favoritfarver'. Så har vi nogle nye farver, som vi gerne vil inkludere på listen 'ekstra_farver'. Ved at bruge '+=-operatoren', kombinerer vi de nye farver med vores eksisterende favoritter, og ændrer 'favoritfarver'-listen.

Efter operationen, når vi udskriver 'Vores opdaterede favoritfarver', kan vi se følgende resultat:

Eksempel 4: Brug af '*'-operatøren

Operatoren '*' kan bruges til listereplikering. Men når den anvendes på lister, kan den sammenkæde dem ved at gentage elementerne.

Her er et eksempel:

original_list = [ 1 , 2 , 3 ]

sammenkædet_liste = original_list * 3

Print ( sammenkædet_liste )

I dette tilfælde starter vi med en 'original_list', der indeholder elementerne [1, 2, 3]. Ved at bruge '*'-operatoren opretter vi en ny liste, som er den 'sammenkædede_liste', der består af tre gentagelser af elementerne fra den oprindelige liste.

Selvom denne tilgang er mindre almindelig til sammenkædning, viser den fleksibiliteten af ​​Pythons operatører.

Eksempel 5: Anvendelse af Itertools.chain()-funktionen

Itertools.chain()-funktionen er en del af 'itertools'-modulet og bruges til at sammenkæde de iterable (som lister, tuples eller andre iterable objekter) til en enkelt 'iterable'. I modsætning til nogle andre sammenkædningsmetoder opretter itertools.chain() ikke en ny liste, men producerer en iterator over elementerne i input iterables.

fra itertools importere kæde

L1 = [ 1 , 2 , 3 ]

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

concatenated_iterable = kæde ( L1 , L2 )

resultatliste = liste ( concatenated_iterable )

Print ( resultatliste )

I det givne eksempel har vi to lister – 'L1' indeholder de numeriske værdier [1, 2, 3] og 'L2' indeholder de alfabetiske tegn ['x', 'y', 'z']. Ved at bruge funktionen itertools.chain() sammenkæder vi disse lister til en enkelt iterabel, repræsenteret ved 'concatenated_iterable'. List()-funktionen anvendes derefter til at konvertere den iterable til en liste, som resulterer i den kombinerede liste [1, 2, 3, 'x', 'y', 'z'].

Eksempel 6: Listeudskæring

Ved at levere en række indekser er listeudskæring en teknik, der lader os hente en delmængde af en liste. Det involverer at bruge kolon (:) operatoren inden for firkantede parenteser til at angive start-, stop- og eventuelt trinværdier.

Her er eksempelkoden:

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

sliced_list = faktisk_liste [ 1 : 4 ]

Print ( sliced_list )

Vi begynder illustrationen med en original liste over tal, der er betegnet som 'actual_list', der indeholder elementerne [1, 2, 3, 4, 5]. Vi udtrækker et specifikt segment af listen ved at bruge listeudskæringen, som er en kraftfuld funktion i Python. Udsnittet 'actual_list[1:4]' bruges i dette tilfælde, og det vælger elementerne fra indeks 1 til indeks 3 (men ikke fra indeks 4). Resultatet er en ny liste, kaldet 'sliced_list', der indeholder den udskårne del [2, 3, 4].

Eksempel 7: Sammenkædning med Zip()-funktionen

Zip()-funktionen kombinerer elementerne fra flere iterables og skaber par eller tuples af tilsvarende elementer. Hver iterations elementer i det samme indeks bruges til at skabe disse par.

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

karakterer = [ 85 , 92 , 78 ]

elev_karakterpar = lynlås ( studerende , karakterer )

resultat_dikt = dikt ( elev_karakterpar )

Print ( 'Elev-klassepar:' , resultat_dikt )

I dette eksempel parrer zip()-funktionen elevnavnene fra 'elever'-listen med deres tilsvarende karakterer fra 'karakterer'-listen, hvilket resulterer i en ordbog, hvor hver elev er knyttet til deres respektive karakter.

Konklusion

Som konklusion tilbyder Python et væld af måder at sammenkæde listerne på, hver med sine fordele. Da vi udforskede de forskellige metoder, fra den ligefremme '+'-operator til den mere nuancerede zip()-funktion, blev det tydeligt, at Python henvender sig til forskellige programmeringsstile og -præferencer. Afhængigt af det aktuelle arbejde vil faktorer som læsbarhed, hukommelseseffektivitet og typen af ​​data, der behandles, afgøre, hvilken metode der er bedst.