Občas sa môžeme dostať do situácií, keď potrebujeme pridať určitý znak za dvojicu (sekundu) znakov. Tento typ problému môže nastať pri práci s údajmi, ktoré vyžadujú pridanie špeciálnych znakov, ako napr čiarky alebo iný symbolov , najmä v oblasti strojového učenia. Poďme hovoriť o niektorých prístupoch k riešeniu tohto problému.
V Pythone sú reťazce nemenné, čo znamená, že po vytvorení reťazca už nie je možné meniť jeho obsah. Môžete však vytvoriť nový reťazec zreťazením dvoch alebo viacerých reťazcov. Existuje niekoľko spôsobov, ako pridať znaky do reťazca v Pythone, a v tomto článku preskúmame niektoré z najčastejšie používaných metód.
Metóda #1: Kombinácia porozumenia zoznamu a join():
Konkrétnu prácu je možné dokončiť kombináciou vyššie uvedených metód. Krájanie a porozumenie zoznamu možno použiť na premenu reťazca na zoznam a funkciu spojenia je možné použiť na ich opätovné spojenie pri zavádzaní potrebných znakov.
Príklad:
# 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)
Výkon:
The original string is :JavaTpoint
Vysvetlenie:
Reťazec po vložení čiarky za každý pár znakov: Ja,va,Tp,oi,nt. Časová náročnosť tejto metódy je O(n) , kde n je dĺžka vstupného reťazca.
Metóda 2: Použitie metódy join().
Táto špecifická úloha môže byť vykonaná pomocou kombinácie vyššie uvedených funkcií. Pri tejto metóde sa delená funkcia sa používa na rozdelenie zvláštny a dokonca znaky, zatiaľ čo funkcia zipsu premieňa postavy na iterovateľné n-tice . Potom sa n-tice transformujú na zoznam reťazcov pomocou porozumenia zoznamu a konečný výsledok sa spojí pomocou pripojiť sa funkciu.
The pripojiť sa () metóda je výkonný spôsob spájania reťazcov v Pythone. Táto metóda trvá iterovateľné (napríklad zoznam alebo n-tica) reťazcov ako vstup a zreťazí ich pomocou reťazca, na ktorom sa volá.
rozbaľovacia ponuka javascript
Príklad:
Zoberme si príklad na pochopenie tejto metódy:
string_list = ['Hello', 'World'] delimiter = ' ' result = delimiter.join(string_list) print(result)
Výkon:
Hello World
Vysvetlenie:
V tomto príklade sme vytvorili zoznam reťazcov tzv string_list . Potom sme použili join() metóda na zreťazenie reťazcov v zozname s oddeľovačom medzier medzi nimi.
Metóda 3: Použitie formátovaných reťazcových literálov
Formátované reťazcové literály sú tiež známe ako f-struny . Ide o modernejší spôsob spájania reťazcov v Pythone. Táto metóda vám umožňuje vložiť výrazy do reťazcových literálov, ktoré sa potom vyhodnotia a nahradia svojimi hodnotami za behu. Tu je príklad:
name = 'John' age = 30 result = f'My name is {name} and I am {age} years old.' print(result)
Výkon:
My name is John and I am 30 years old.
Vysvetlenie:
V tomto príklade sme vytvorili dve premenné, názov a Vek a použil ich vo formátovanom reťazcovom literáli na vytvorenie nového reťazca. Výrazy vo zložených zátvorkách sa vyhodnotia a nahradia svojimi hodnotami za behu.
Metóda 4: Použitie operátora +=
Ďalším spôsobom, ako pridať znaky do reťazca, je použitie operátor += . Tento operátor pripojí nové znaky na koniec existujúceho reťazca. Tu je príklad:
string1 = 'Hello' string1 += ' World!' print(string1)
Výkon:
Hello World!
Vysvetlenie:
V tomto príklade sme vytvorili reťazec reťazec1 s hodnotou 'Ahoj' . Potom sme použili operátor += na pripojenie reťazca 'Svet!' do konca reťazec1 .
Záver:
Existuje mnoho spôsobov, ako zreťaziť reťazce v Pythone, pričom každý má svoje výhody a nevýhody. The + operátor a operátor += sú jednoduché a ľahko sa používajú, ale pri spájaní veľkých strún môžu byť pomalé. The join() metóda je efektívnejší pri spájaní veľkého počtu reťazcov, ale vyžaduje viac kódu nastavenia. Formátované reťazcové literály predstavujú modernejší a výkonnejší spôsob spájania reťazcov, ale nemusia byť kompatibilné so staršími verziami Pythonu.