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 ķēdeL1 = [ 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.