Junior
Čo sú to rezy (slices) v Pythone a ako sa používajú?
sobes.tech AI
Odpoveď od AI
Rezy (slices) v Pythone sú pohodlným spôsobom, ako získať podsekvencie zo zoradených kolekcií, ako sú reťazce, zoznamy a n-tice. Umožňujú extrahovať prvky alebo časti sekvencie bez modifikácie pôvodnej kolekcie.
Syntax rezu: [start:stop:step]
start: index začiatku rezu (vrátane). Predvolene 0.stop: index konca rezu (nevrátane). Predvolene koniec sekvencie.step: krok rezu (koľko prvkov preskočiť). Predvolene 1.
Indexy môžu byť záporné. Záporný index počíta od konca sekvencie (-1 je posledný prvok, -2 predposledný atď.).
Príklady použitia:
# Reťazec
s = "Hello, world!"
# Rez od začiatku do 5. prvku (nevrátane)
print(s[:5]) # Výstup: Hello
# Rez od 7. prvku do konca
print(s[7:]) # Výstup: world!
# Rez od 7. do 12. prvku (nevrátane)
print(s[7:12]) # Výstup: world
# Kopírovanie reťazca
print(s[:]) # Výstup: Hello, world!
# Obrátenie reťazca
print(s[::-1]) # Výstup: !dlrow ,olleH
# Rez s krokom 2
print(s[::2]) # Výstup: Hlo ol!
# Zoznam
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Rez od 2. do 5. prvku (nevrátane)
print(my_list[1:5]) # Výstup: [2, 3, 4, 5]
# Rez od posledného po 3. prvok (nevrátane), s krokom -1
print(my_list[-1:2:-1]) # Výstup: [10, 9, 8, 7, 6, 5, 4]
# Tuple
my_tuple = (10, 20, 30, 40, 50)
# Rez od 2. do 4. prvku (nevrátane)
print(my_tuple[1:4]) # Výstup: (20, 30, 40)
Použitie rezov umožňuje vytvárať nové objekty s časťami dát z pôvodnej sekvencie, čo ich robí efektívnym nástrojom na manipuláciu s dátami.