Kódím.cz
2

Slicing, metody, moduly

Doplníme znalosti a další základy

Slicing seznamů a řetězců

Představme si, že si chci zaznamenat počet vanilkových věnečků snědených za posledních 7 dní. V Pythonu si můžu pro tento účel vytvořit seznam, který si uložím do vhodně pojmenované proměnné.

venecky = [1, 2, 4, 1, 6, 0, 1]

Chceme-li přistoupit k jednotlivým hodnotám uvnitř seznamu, použijeme k tomu hranaté závorky.

print(venecky[0])
print(venecky[4])

POZOR! Programátoři jsou podivné bytosti, které vždy počítají od nuly, nikoliv od jedničky. Proto také první hodnota v našem seznamu má index 0.

Snadno také můžeme některou hodnotu v seznamu změnit. Například když si vzpomeneme, že jsme trošku zalhali ohledně konzumace věnečků v sobotu:

venecky[5] = 12

Z jednoho seznamu můžeme také získat menší kusy podle zadaných mezí.

print(venecky[2:5])
print(venecky[:3])
print(venecky[3:])

Užitečné funkce nad seznamy

Pro práci se seznamy se nám může hodit několik funkcí:

len() : Vrátí délku seznamu

sum() : Vrátí součet všech prvků v seznamu

min() : Vrátí nejmenší prvek seznamu

max() : Vrátí největší prvek seznamu

sorted() : Vrátí setříděný seznam

Řetězce

Řetězce se chovají v něčem podobně jako čísla a v něčem podobně jako seznamy. Můžeme je například sčítat.

jmeno = 'martin' + ' ' + 'podloucký'

Můžeme však také přistupovat k jednotlivým písmenům nebo pracovat s podřetězci.

print(jmeno[3])
print(jmeno[:6])
print(jmeno[7:])

Podobně jako u seznamů můžeme na řetězcích volat také funkci len().

print(len(jmeno))

Můžeme též zkontrolovat, zda se nějaký podřetězec nachází v jiném řetězci. K tomu slouží operátor in, který můžeme využít v podmínce.

inzerat = "Na této pracovní pozici budete využívat Python a SQL"
if "Python" in inzerat:
    print("Je to pro mě!")

Podobně můžeme využít i operátor not in, který vrací vždy opačný výsledek.

email = "spatny-mail.cz"
if "@" not in email:
    print("V e-mailu chybí zavináč!")

Jelikož řetězec je opět hodnota jako každá jiná, není problém vyrobit seznam řetězců.

jmena = ['martin', 'jana', 'petr', 'simona']

Cvičení: Seznamy

Bonusy