Sobes.tech
Junior

Czym są wycinki (slices) w Pythonie i jak są używane?

sobes.tech AI

Odpowiedź od AI

Krojenie (slices) w Pythonie to wygodny sposób na uzyskanie podsekwencji z uporządkowanych kolekcji, takich jak ciągi znaków, listy i krotki. Pozwalają one na wyodrębnianie elementów lub części sekwencji bez modyfikowania oryginalnej kolekcji.

Składnia krojenia: [start:stop:step]

  • start: indeks początku krojenia (włącznie). Domyślnie 0.
  • stop: indeks końca krojenia (nie włącznie). Domyślnie koniec sekwencji.
  • step: krok krojenia (co ile elementów brać). Domyślnie 1.

Indeksy mogą być ujemne. Ujemny indeks liczy się od końca sekwencji (-1 to ostatni element, -2 przedostatni itd.).

Przykłady użycia:

# Ciąg znaków
s = "Hello, world!"
# Krojenie od początku do 5. elementu (nie włącznie)
print(s[:5])  # Wynik: Hello
# Krojenie od 7. elementu do końca
print(s[7:]) # Wynik: world!
# Krojenie od 7. do 12. elementu (nie włącznie)
print(s[7:12]) # Wynik: world
# Kopiowanie ciągu
print(s[:]) # Wynik: Hello, world!
# Odwracanie ciągu
print(s[::-1]) # Wynik: !dlrow ,olleH
# Krojenie z krokiem 2
print(s[::2]) # Wynik: Hlo ol!

# Lista
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Krojenie od 2. do 5. elementu (nie włącznie)
print(my_list[1:5]) # Wynik: [2, 3, 4, 5]
# Krojenie od ostatniego do 3. elementu (nie włącznie), z krokiem -1
print(my_list[-1:2:-1]) # Wynik: [10, 9, 8, 7, 6, 5, 4]

# Krotka
my_tuple = (10, 20, 30, 40, 50)
# Krojenie od 2. do 4. elementu (nie włącznie)
print(my_tuple[1:4]) # Wynik: (20, 30, 40)

Użycie krojenia pozwala na tworzenie nowych obiektów zawierających części danych z oryginalnej sekwencji, co czyni je efektywnym narzędziem do manipulacji danymi.