Máme k dispozici výchozí proměnnou typu str:

text = "Testovací text"

Vypisovat jednotlivé znaky z datového typu str je možné pomocí indexace jednotlivých znaků. V momentě, kdy máme v proměnné s názvem text hodnotu "Testovací text", máme v indexovaných proměnných následující hodnoty:

text[0]: "T"
text[1]: "e"
text[2]: "s"
text[3]: "t"
text[4]: "o"
text[5]: "v"
text[6]: "a"
text[7]: "c"
text[8]: "í"
text[9]: " "
text[10]: "t"
text[11]: "e"
text[12]: "x"
text[13]: "t"
text[1:]: "estovací text"
text[:-1]: "Testovací tex"

Každý znak tedy můžeme vypsat pomocí funkce print(), například:

print(text[6])
Console: a

vypíše na Consoli "a".

Vypisovat jednotlivé znaky v datovém typu str tedy umíme. Problém ale nastává ve chvíli, kdy chceme nějaký znak změnit, přemazat. Když bychom například hodnotu "Testovací text" chtěli změnit na "Testovací test", nebudeme to moci udělat takto:

text[12] = "s"
Console: TypeError: 'str' object does not support item assignment

Řešením tohoto problému je převést str na list, což nám umožní pomocí indexace měnit jednotlivé znaky. K tomu slouží funkce list(), do níž je vstupem název proměnné datového typu str, ze kterého chceme získat pole (seznam) datového typu list.

array = list(text)

Pokud v tuto chvíli vytiskneme hodnotu v proměnné array, získáme na Consoli následující výpis:

print(array)
Console: ['T', 'e', 's', 't', 'o', 'v', 'a', 'c', 'í', ' ', 't', 'e', 'x', 't']

V tuto chvíli už můžeme konečně změnit jednu konkrétní hodnotu v textu. Abychom tedy mohli měnit jeden konkrétní znak v textu, potřebujeme ho mít uložený v datovém typu list. Pak následně bude fungovat následující přiřazení.

array[12] = "s"

Po přiřazení nové hodnoty do proměnné array s indexem 12 zkoušíme opět vytisknout aktuální obsah proměnné array, zatím stále v datovém typu list.

print(array)
Console: ['T', 'e', 's', 't', 'o', 'v', 'a', 'c', 'í', ' ', 't', 'e', 's', 't']

Následně bychom potřebovali převést upravenou proměnnou s názvem array v datovém typu list zpět do proměnné v datovém typu str. Do prázdného stringu přidáme pomocí funkce join(), která se pomocí tečkové notace volá na hodnotě datového typu str, pošleme vstupní hodnotu v datovém typu list. Výsledný str po provedení funkce join přiřadíme do proměnné text.

text = "".join(array)
print(text)
Console: Testovací test

Naposledy změněno: Pondělí, 15. března 2021, 21.46