Kako združiti sezname v Pythonu

Kako Zdruziti Sezname V Pythonu



Seznami Python so vsestranske in široko uporabljene podatkovne strukture, ki omogočajo shranjevanje in manipulacijo zbirk elementov. Ena pogosta operacija pri delu s seznami je veriženje, ki vključuje združevanje dveh ali več seznamov za ustvarjanje novega seznama. Ta postopek je še posebej uporaben pri združevanju podatkov ali ustvarjanju večjega seznama iz manjših. Združevanje seznamov je mogoče doseči z različnimi metodami in razumevanje teh tehnik je temeljnega pomena za učinkovito delo s seznami v Pythonu. Ne glede na to, ali združujete sezname števil, nizov ali zapletenih predmetov, vam obvladovanje veriženja seznamov omogoča manipulacijo in organizacijo podatkov na različne načine.

Primer 1: Združevanje seznamov z operatorjem »+«.

V Pythonu lahko uporabimo operator »+« za združevanje seznamov. Z uporabo operatorja »+« lahko združite dva ali več seznamov in ustvarite nov seznam. Ko s seznami uporabite operator »+«, se ustvari nov seznam in elementi izvirnih seznamov se kopirajo na nov seznam v vrstnem redu, kot so prikazani.

Tukaj je preprost primer:







list 1 = [ 1 , 2 , 3 ]

seznam2 = [ 4 , 5 , 6 ]

seznam_rezultatov = seznam1 + seznam2

tiskanje ( seznam_rezultatov )

Na tej ilustraciji imamo dva seznama: »seznam1« in »seznam2«. Za njihovo integracijo v en seznam uporabljamo operator “+”. Ko se uporablja s seznami, jih operator »+« združi, kar pomeni, da združi elemente drugega seznama s koncem prvega. Torej, po izvedbi »result_list = list1 + list2″ bo »result_list« vseboval elemente tako »list1« kot »list2« v vrstnem redu, v katerem so bili povezani.





Čeprav je ta metoda jedrnata, ne pozabite, da ustvari nov seznam, ki morda ne bo učinkovit za velike sezname zaradi dodatnih stroškov ustvarjanja kopije.





Primer 2: Uporaba metode Extend().

Elemente iterable je mogoče dodati na konec obstoječega seznama z uporabo metode extend(). Spremeni izvirni seznam na mestu, za razliko od operaterja »+«, ki ustvari nov seznam.

Recimo, da imamo seznam študentov v razredu in želimo ta seznam razširiti z dodajanjem imen novih študentov, ki so se nedavno pridružili z uporabo metode extend(). To lahko storite tako:



razred_učenci = [ 'Alice' , 'Bella' , 'Charlie' ]

novi_študenti = [ 'David' , 'Eva' , 'Adam' ]

razred_učenci. razširiti ( novi_študenti )

tiskanje ( 'Posodobljen seznam študentov:' , razred_učenci )

V tem primeru izvirni seznam, ki je »class_students«, vsebuje imena obstoječih študentov. Seznam »new_students« vključuje imena študentov, ki so se nedavno pridružili razredu. Z uporabo metode extend() dodamo imena novih študentov na konec izvirnega seznama.

3. primer: uporaba operatorja »+=« za združevanje

Operator “+=” je okrajšava za metodo extend(). Spremeni seznam na mestu in združi elemente desnega seznama v levi seznam.

Recimo, da imamo seznam priljubljenih barv in ga želimo posodobiti z dodajanjem več barv z uporabo operatorja »+=«.

najljubše_barve = [ 'modra' , 'zelena' , 'rdeča' ]

dodatne_barve = [ 'vijolična' , 'oranžna' , 'rumena' ]

najljubše_barve + = dodatne_barve

tiskanje ( 'Posodobljene priljubljene barve:' , najljubše_barve )

V tem scenariju začnemo s seznamom naših najljubših barv, ki jih predstavlja »favorite_colors«. Nato imamo nekaj novih barv, ki bi jih radi vključili na seznam »additional_colors«. Z uporabo operatorja »+=« združimo nove barve z našimi obstoječimi priljubljenimi in tako spremenimo seznam »priljubljene_barve«.

Po operaciji, ko natisnemo »Naše posodobljene najljubše barve«, lahko vidimo naslednji rezultat:

Primer 4: Uporaba operatorja “*”.

Operator “*” lahko uporabite za podvajanje seznama. Ko pa se uporablja za sezname, jih lahko poveže s ponavljanjem elementov.

Tukaj je primer:

izvirni_seznam = [ 1 , 2 , 3 ]

vezan_seznam = izvirni_seznam * 3

tiskanje ( vezan_seznam )

V tem primeru začnemo z 'original_list', ki vsebuje elemente [1, 2, 3]. Z uporabo operatorja “*” ustvarimo nov seznam, ki je “concatenated_list”, ki je sestavljen iz treh ponovitev elementov iz prvotnega seznama.

Čeprav je ta pristop manj običajen za veriženje, prikazuje prilagodljivost Pythonovih operaterjev.

Primer 5: Uporaba funkcije Itertools.chain().

Funkcija itertools.chain() je del modula »itertools« in se uporablja za združevanje iterable (kot so seznami, tuple ali drugi iterable objekti) v en sam »iterable«. V nasprotju z nekaterimi drugimi metodami veriženja itertools.chain() ne ustvari novega seznama, ampak ustvari iterator nad elementi vhodnih ponovljivih elementov.

od itertools uvoz veriga

L1 = [ 1 , 2 , 3 ]

L2 = [ 'x' , 'in' , 'z' ]

vezan_iterable = veriga ( L1 , L2 )

seznam_rezultatov = seznam ( vezan_iterable )

tiskanje ( seznam_rezultatov )

V danem primeru imamo dva seznama – »L1« vsebuje številske vrednosti [1, 2, 3] in »L2« vsebuje abecedne znake [»x«, »y«, »z«]. S funkcijo itertools.chain() združimo te sezname v en sam iterable, ki ga predstavlja »concatenated_iterable«. Funkcija list() se nato uporabi za pretvorbo iterable v seznam, ki ima za posledico kombiniran seznam [1, 2, 3, “x”, “y”, “z”].

Primer 6: Rezanje seznama

Z zagotavljanjem niza indeksov je rezanje seznama tehnika, ki nam omogoča, da pridobimo podmnožico seznama. Vključuje uporabo operatorja dvopičja (:) v oglatih oklepajih za označevanje začetnih, končnih in po želji vrednosti korakov.

Tukaj je primer kode:

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

narezan_seznam = dejanski_seznam [ 1 : 4 ]

tiskanje ( narezan_seznam )

Ilustracijo začnemo z izvirnim seznamom številk, ki je označen kot 'dejanski_seznam', ki vsebuje elemente [1, 2, 3, 4, 5]. Izvlečemo določen segment seznama z uporabo rezanja seznama, ki je zmogljiva funkcija v Pythonu. V tem primeru je uporabljena rezina »actual_list[1:4]« in izbere elemente od indeksa 1 do indeksa 3 (vendar ne iz indeksa 4). Rezultat je nov seznam, imenovan 'sliced_list', ki vsebuje narezan del [2, 3, 4].

Primer 7: veriženje s funkcijo Zip().

Funkcija zip() združuje elemente iz več ponovljivih elementov in ustvarja pare ali tuple ustreznih elementov. Elementi vsake ponovitve z istim indeksom se uporabljajo za ustvarjanje teh parov.

študenti = [ 'Alice' , 'Bob' , 'Charlie' ]

ocene = [ 85 , 92 , 78 ]

pari_ocen učencev = zip ( študenti , ocene )

rezultat_dikt = dikt ( pari_ocen učencev )

tiskanje ( 'Pari študent-razred:' , rezultat_dikt )

V tem primeru funkcija zip() združi imena študentov s seznama »študentov« z njihovimi ustreznimi ocenami s seznama »ocen«, kar ima za posledico slovar, v katerem je vsak študent povezan s svojo oceno.

Zaključek

Skratka, Python ponuja številne načine za povezovanje seznamov, od katerih ima vsak svoje prednosti. Ko smo raziskovali različne metode, od enostavnega operatorja »+« do bolj niansirane funkcije zip(), je postalo očitno, da Python skrbi za različne stile in nastavitve programiranja. Odvisno od opravljenega dela bodo dejavniki, kot so berljivost, učinkovitost pomnilnika in vrsta podatkov, ki se obdelujejo, določili, katera metoda je najboljša.