Kā savienot sarakstus Python

Ka Savienot Sarakstus Python



Python saraksti ir daudzpusīgas un plaši izmantotas datu struktūras, kas ļauj uzglabāt un manipulēt ar vienumu kolekcijām. Viena izplatīta darbība, strādājot ar sarakstiem, ir savienošana, kas ietver divu vai vairāku sarakstu apvienošanu, lai izveidotu jaunu sarakstu. Šis process ir īpaši noderīgs, apvienojot datus vai veidojot lielāku sarakstu no mazākiem. Sarakstu savienošanu var panākt, izmantojot dažādas metodes, un šo metožu izpratne ir būtiska, lai efektīvi strādātu ar sarakstiem programmā Python. Neatkarīgi no tā, vai apvienojat skaitļu sarakstus, virknes vai sarežģītus objektus, saraksta savienošanas apgūšana ļauj manipulēt ar datiem un kārtot tos dažādos veidos.

1. piemērs: sarakstu savienošana ar operatoru “+”.

Mēs varam izmantot Python operatoru “+”, lai savienotu sarakstus. Izmantojot operatoru “+”, varat apvienot divus vai vairākus sarakstus, lai izveidotu jaunu sarakstu. Ja sarakstiem izmantojat operatoru “+”, tiek izveidots jauns saraksts un sākotnējo sarakstu elementi tiek kopēti jaunajā sarakstā tādā secībā, kādā tie parādās.

Šeit ir vienkāršs piemērs:







1. lapa = [ 1 , 2 , 3 ]

saraksts2 = [ 4 , 5 , 6 ]

rezultātu_saraksts = saraksts1 + saraksts2

drukāt ( rezultātu_saraksts )

Šajā ilustrācijā ir divi saraksti: “list1” un “list2”. Mēs izmantojam operatoru “+”, lai tos integrētu vienā sarakstā. Lietojot ar sarakstiem, operators “+” tos savieno, kas nozīmē, ka tas savieno otrā saraksta elementus līdz pirmā saraksta beigām. Tātad pēc “result_list = list1 + list2” izpildes “result_list” saturēs gan “list1”, gan “list2” elementus tādā secībā, kādā tie tika savienoti.





Lai gan šī metode ir kodolīga, ņemiet vērā, ka ar to tiek izveidots jauns saraksts, kas var nebūt efektīvs lieliem sarakstiem, jo ​​kopijas izveide prasa papildu izmaksas.





2. piemērs: Extend() metodes izmantošana

Atkārtojamās daļas vienumus var pievienot esoša saraksta beigām, izmantojot paplašinājuma () metodi. Tas maina sākotnējo sarakstu vietā, atšķirībā no operatora “+”, kas izveido jaunu sarakstu.

Pieņemsim, ka mums ir klases skolēnu saraksts, un mēs vēlamies šo sarakstu paplašināt, pievienojot to jauno skolēnu vārdus, kuri nesen pievienojušies, izmantojot metodi paplašināt (). Lūk, kā jūs varētu rīkoties:



klases_skolēni = [ 'Alise' , 'Bella' , 'Čārlijs' ]

jaunie_studenti = [ 'Dāvids' , 'Eva' , 'Ādams' ]

klases_skolēni. pagarināt ( jaunie_studenti )

drukāt ( 'Atjaunināts studentu saraksts:' , klases_skolēni )

Šajā piemērā sākotnējais saraksts, kas ir “class_students”, satur esošo skolēnu vārdus. Sarakstā “jaunie_skolēni” ir iekļauti to skolēnu vārdi, kuri nesen pievienojās klasei. Lietojot paplašināt() metodi, mēs pievienojam jauno studentu vārdus sākotnējā saraksta beigās.

3. piemērs: Operatora “+=” lietošana savienošanai

Operators “+=” ir paplašinājuma () metodes saīsinājums. Tas maina sarakstu vietā, apvienojot labās puses saraksta elementus kreisās puses sarakstā.

Pieņemsim, ka mums ir iecienītāko krāsu saraksts un mēs vēlamies to atjaunināt, pievienojot vairāk krāsu, izmantojot operatoru “+=”.

mīļākās_krāsas = [ 'zils' , 'zaļš' , 'sarkans' ]

papildu_krāsas = [ 'violets' , 'apelsīns' , 'dzeltens' ]

mīļākās_krāsas + = papildu_krāsas

drukāt ( 'Atjauninātās iecienītākās krāsas:' , mīļākās_krāsas )

Šajā scenārijā mēs sākam ar mūsu iecienītāko krāsu sarakstu, ko apzīmē ar “mīļākās_krāsas”. Pēc tam mums ir dažas jaunas krāsas, kuras mēs vēlētos iekļaut sarakstā “additional_colors”. Izmantojot operatoru “+=”, mēs apvienojam jaunās krāsas ar mūsu esošajām izlasēm, pārveidojot sarakstu “favorite_colors”.

Pēc operācijas, izdrukājot “Mūsu atjauninātās iecienītākās krāsas”, mēs varam redzēt šādu rezultātu:

4. piemērs: Operatora “*” izmantošana

Operatoru “*” var izmantot saraksta replikācijai. Bet, ja to lieto sarakstiem, tas var tos savienot, atkārtojot elementus.

Šeit ir piemērs:

sākotnējais_saraksts = [ 1 , 2 , 3 ]

concatenated_list = original_list * 3

drukāt ( concatenated_list )

Šajā gadījumā mēs sākam ar “original_list”, kas satur elementus [1, 2, 3]. Izmantojot operatoru “*”, mēs izveidojam jaunu sarakstu, kas ir “concatenated_list”, kas sastāv no trīs sākotnējā saraksta elementu atkārtojumiem.

Lai gan šī pieeja ir mazāk izplatīta savienošanai, tā parāda Python operatoru elastību.

5. piemērs. Funkcijas Itertools.chain() lietošana

Funkcija itertools.chain() ir daļa no moduļa “itertools”, un to izmanto, lai iterējamo elementu (piemēram, sarakstus, korešus vai citus iterējamus objektus) savienotu vienā “iterējamā”. Atšķirībā no dažām citām savienošanas metodēm, itertools.chain() neizveido jaunu sarakstu, bet rada iteratoru pār ievades iterējamo elementu elementiem.

no itertorīki imports ķēde

L1 = [ 1 , 2 , 3 ]

L2 = [ 'x' , 'un' , 'ar' ]

concatenated_iterable = ķēde ( L1 , L2 )

rezultātu_saraksts = sarakstu ( concatenated_iterable )

drukāt ( rezultātu_saraksts )

Dotajā piemērā mums ir divi saraksti – “L1” satur skaitliskās vērtības [1, 2, 3] un “L2” satur alfabētiskās rakstzīmes [“x”, “y”, “z”]. Izmantojot funkciju itertools.chain(), mēs savienojam šos sarakstus vienā iterējamā, ko attēlo “concatenated_iterable”. Pēc tam tiek lietota funkcija list(), lai iterējamo pārvērstu sarakstā, kā rezultātā tiek izveidots apvienots saraksts [1, 2, 3, “x”, “y”, “z”].

6. piemērs: saraksta sagriešana

Nodrošinot virkni indeksu, saraksta sadalīšana ir paņēmiens, kas ļauj izgūt saraksta apakškopu. Tas ietver kolu (:) operatora izmantošanu kvadrātiekavās, lai norādītu sākuma, beigšanas un, pēc izvēles, soļa vērtības.

Šeit ir koda piemērs:

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

sliced_list = faktiskais_saraksts [ 1 : 4 ]

drukāt ( sliced_list )

Mēs sākam ilustrāciju ar oriģinālo skaitļu sarakstu, kas tiek apzīmēts kā “faktiskais_saraksts”, kas satur elementus [1, 2, 3, 4, 5]. Mēs iegūstam noteiktu saraksta segmentu, izmantojot saraksta sadalīšanu, kas ir jaudīga Python funkcija. Šajā gadījumā tiek izmantota sadaļa “actual_list[1:4]”, un tajā tiek atlasīti elementi no indeksa 1 uz indeksu 3 (bet ne no indeksa 4). Rezultāts ir jauns saraksts ar nosaukumu “sliced_list”, kas satur sagriezto daļu [2, 3, 4].

7. piemērs: Savienošana ar funkciju Zip()

Funkcija zip() apvieno elementus no vairākiem iterējamiem elementiem, izveidojot atbilstošo elementu pārus vai kopas. Lai izveidotu šos pārus, tiek izmantoti katra iterācijas elementi vienā indeksā.

studenti = [ 'Alise' , 'Bobs' , 'Čārlijs' ]

pakāpes = [ 85 , 92 , 78 ]

studentu_pakāpju_pāri = rāvējslēdzējs ( studenti , pakāpes )

rezultāts_dikts = dikt ( studentu_pakāpju_pāri )

drukāt ( 'Skolēnu un klašu pāri:' , rezultāts_dikts )

Šajā piemērā funkcija zip() sapāro skolēnu vārdus no saraksta “skolēni” ar atbilstošām atzīmēm no “atzīmju” saraksta, kā rezultātā tiek izveidota vārdnīca, kurā katrs skolēns ir saistīts ar viņu attiecīgo atzīmi.

Secinājums

Visbeidzot, Python piedāvā daudzus veidus, kā savienot sarakstus, un katram ir savas priekšrocības. Izpētot dažādas metodes, sākot no vienkāršā “+” operatora līdz niansētākai zip() funkcijai, kļuva skaidrs, ka Python nodrošina dažādus programmēšanas stilus un preferences. Atkarībā no veicamā darba tādi faktori kā lasāmība, atmiņas efektivitāte un apstrādājamo datu veids noteiks labāko metodi.