Mēs dažkārt varam nonākt situācijās, kad pēc rakstzīmju pāra (otrās) mums ir jāpievieno noteikta rakstzīme. Šāda veida problēma var rasties, strādājot ar datiem, kas prasa speciālo rakstzīmju pievienošanu, piemēram, komatiem vai citu simboliem , jo īpaši mašīnmācības jomā. Parunāsim par dažām pieejām šīs problēmas risināšanai.
Programmā Python virknes ir nemainīgas, kas nozīmē, ka pēc virknes izveides tās saturu nevar mainīt. Tomēr jūs varat izveidot jaunu virkni, savienojot divas vai vairākas virknes. Ir vairāki veidi, kā Python virknei pievienot rakstzīmes, un šajā rakstā mēs izpētīsim dažas no visbiežāk izmantotajām metodēm.
1. metode: saraksta izpratnes un pievienošanās (join():
Konkrētu darbu var pabeigt, izmantojot iepriekš minēto metožu kombināciju. Šķēlēšana un saraksta izpratne var izmantot, lai virkni pārvērstu sarakstā, un savienošanas funkciju var izmantot, lai tās atkārtoti savienotu, vienlaikus ievadot nepieciešamās rakstzīmes.
Piemērs:
# Python3 code to demonstrate working of insert character after every character pair using join() + list comprehension # initializing string test_str = 'JavaTpoint' # printing original string print('The original string is : ' + test_str) # Using join() + list comprehension we will Insert character after every character pair res = ', '.join(test_str[i:i + 2] for i in range(0, len(test_str), 2)) # printing result print('The string after inserting comma after every character pair : ' + res)
Izvade:
The original string is :JavaTpoint
Paskaidrojums:
Virkne pēc komata ievietošanas aiz katra rakstzīmju pāra: Ja,va,Tp,oi,nt. Šīs metodes laika sarežģītība ir O(n) , kur n ir ievades virknes garums.
2. metode: savienojuma() metodes izmantošana
Šo konkrēto uzdevumu var veikt, izmantojot iepriekš minēto funkciju kombināciju. Izmantojot šo metodi, sadalīšanas funkcija tiek izmantots, lai sadalītu nepāra un pat rakstzīmes, savukārt zip funkcija pārvērš varoņus par atkārtojami korteži . Pēc tam korteži tiek pārveidoti par virkņu sarakstu, izmantojot saraksta izpratni, un gala rezultāts tiek apvienots, izmantojot pievienoties funkciju.
The pievienoties () metode ir spēcīgs veids, kā savienot virknes Python. Šī metode aizņem vienu atkārtojams (piemēram, sarakstu vai virkņu virkni) kā ievadi un savieno tās, izmantojot virkni, kurā tā tiek izsaukta.
tīģera un lauvas atšķirība
Piemērs:
Ņemsim piemēru, lai saprastu šo metodi:
string_list = ['Hello', 'World'] delimiter = ' ' result = delimiter.join(string_list) print(result)
Izvade:
Hello World
Paskaidrojums:
Šajā piemērā mēs esam izveidojuši virkņu sarakstu ar nosaukumu stīgu_saraksts . Pēc tam mēs izmantojām join() metode lai sasaistītu virknes sarakstā ar atstarpes atdalītāju starp tām.
3. metode. Formatētu virkņu literāļu izmantošana
Formatēti virkņu literāļi ir pazīstami arī kā f-stīgas . Šis ir modernāks veids, kā sasaistīt virknes Python. Šī metode ļauj iegult izteiksmes virkņu literāļos, kuras pēc tam tiek novērtētas un aizstātas ar to vērtībām izpildlaikā. Šeit ir piemērs:
name = 'John' age = 30 result = f'My name is {name} and I am {age} years old.' print(result)
Izvade:
My name is John and I am 30 years old.
Paskaidrojums:
Šajā piemērā mēs esam izveidojuši divus mainīgos, nosaukums un vecums , un izmantoja tos formatētā virknes burtiskā formā, lai izveidotu jaunu virkni. Izteiksmes cirtainajās iekavās tiek novērtētas un aizstātas ar to vērtībām izpildlaikā.
4. metode: operatora += izmantošana
Vēl viens veids, kā virknei pievienot rakstzīmes, ir izmantot += operators . Šis operators esošās virknes beigās pievieno jaunās rakstzīmes. Šeit ir piemērs:
string1 = 'Hello' string1 += ' World!' print(string1)
Izvade:
Hello World!
Paskaidrojums:
Šajā piemērā mēs esam izveidojuši virkni string1 ar vērtību 'Sveiki' . Pēc tam mēs izmantojām += operators lai pievienotu virkni 'Pasaule!' gada beigām string1 .
Secinājums:
Ir daudz veidu, kā Python virknes savienot, un katram no tiem ir savas priekšrocības un trūkumi. The + operators un += operators ir vienkārši un ērti lietojami, taču tie var būt lēni, savienojot lielas virknes. The join() metode ir efektīvāka, savienojot lielu skaitu virkņu, taču tam ir nepieciešams vairāk iestatīšanas koda. Formatēti virkņu literāļi ir modernāks un jaudīgāks veids, kā savienot virknes, taču tās var nebūt saderīgas ar vecākām Python versijām.