logo

Jak přidat znaky do řetězce v Pythonu

Občas se můžeme dostat do situací, kdy potřebujeme přidat určitý znak za dvojici (sekundu) znaků. Tento typ problému může nastat při práci s daty, která vyžadují přidání speciálních znaků, jako např čárky nebo jiný symboly , zejména v oblasti strojového učení. Promluvme si o některých přístupech k řešení tohoto problému.

V Pythonu jsou řetězce neměnné, což znamená, že jakmile je řetězec vytvořen, jeho obsah nelze změnit. Můžete však vytvořit nový řetězec zřetězením dvou nebo více řetězců. Existuje několik způsobů, jak přidat znaky do řetězce v Pythonu, a v tomto článku prozkoumáme některé z nejčastěji používaných metod.

Metoda #1: Kombinace porozumění seznamu a join():

Konkrétní práce lze dokončit kombinací výše uvedených metod. Krájení a porozumění seznamu lze použít k přeměně řetězce na seznam a funkci spojení lze použít k jejich opětovnému spojení při zavádění nezbytných znaků.

Pří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ýstup:

 The original string is :JavaTpoint 

Vysvětlení:

Řetězec po vložení čárky za každou dvojici znaků: Ja,va,Tp,oi,nt. Časová náročnost této metody je Na) , kde n je délka vstupního řetězce.

Metoda 2: Použití metody join().

Tento specifický úkol lze provést pomocí kombinace výše uvedených funkcí. Při této metodě je rozdělená funkce se používá k rozdělení zvláštní a dokonce postavy, zatímco funkce zip promění postavy v iterovatelné n-tice . Poté jsou n-tice transformovány na seznam řetězců pomocí porozumění seznamu a konečný výsledek je spojen pomocí připojit funkce.

The připojit se() metoda je výkonný způsob, jak zřetězit řetězce v Pythonu. Tato metoda trvá iterovatelné (jako je seznam nebo n-tice) řetězců jako vstup a zřetězí je pomocí řetězce, na kterém je volán.

číslo 'euler' v jazyce Java'

Příklad:

Vezměme si příklad pro pochopení této metody:

 string_list = ['Hello', 'World'] delimiter = ' ' result = delimiter.join(string_list) print(result) 

Výstup:

 Hello World 

Vysvětlení:

V tomto příkladu jsme vytvořili seznam řetězců tzv seznam_řetězců . Poté jsme použili metoda join(). zřetězit řetězce v seznamu s oddělovačem mezer mezi nimi.

Metoda 3: Použití formátovaných řetězcových literálů

Formátované řetězcové literály jsou také známé jako f-struny . Jedná se o modernější způsob zřetězení řetězců v Pythonu. Tato metoda umožňuje vložit výrazy do řetězcových literálů, které jsou pak vyhodnoceny a nahrazeny svými hodnotami za běhu. Zde je příklad:

 name = 'John' age = 30 result = f'My name is {name} and I am {age} years old.' print(result) 

Výstup:

 My name is John and I am 30 years old. 

Vysvětlení:

V tomto příkladu jsme vytvořili dvě proměnné, název a stáří a použil je uvnitř formátovaného řetězcového literálu k vytvoření nového řetězce. Výrazy uvnitř složených závorek jsou vyhodnoceny a nahrazeny svými hodnotami za běhu.

Metoda 4: Použití operátoru +=

Dalším způsobem, jak přidat znaky do řetězce, je použití += operátor . Tento operátor připojí nové znaky na konec existujícího řetězce. Zde je příklad:

 string1 = 'Hello' string1 += ' World!' print(string1) 

Výstup:

 Hello World! 

Vysvětlení:

V tomto příkladu jsme vytvořili řetězec řetězec1 s hodnotou 'Ahoj' . Poté jsme použili += operátor pro připojení řetězce 'Svět!' do konce řetězec1 .

Závěr:

Existuje mnoho způsobů, jak zřetězit řetězce v Pythonu, z nichž každý má své výhody a nevýhody. The + operátor a += operátor jsou jednoduché a snadno použitelné, ale mohou být pomalé při zřetězení velkých strun. The metoda join(). je efektivnější při zřetězení velkého počtu řetězců, ale vyžaduje více kódu nastavení. Formátované řetězcové literály jsou modernější a výkonnější způsob zřetězení řetězců, ale nemusí být kompatibilní se staršími verzemi Pythonu.