11.1 Indeksowanie
W Python wyciąganie podciągów to często stosowana operacja, umożliwiająca manipulowanie danymi tekstowymi i wyciąganie znaczących części informacji z ciągów. Przyjrzymy się kilku sposobom uzyskiwania podciągów, z których każdy ma swoje cechy szczególne i zastosowania.
Użycie slice'ów
Slice'y (slices)
to główny sposób uzyskiwania podciągów w Python. Slice w Python powstaje za pomocą składni string[start
:stop
:step
], gdzie:
start
— początkowy indeks (włącznie),stop
— końcowy indeks (wyłącznie),step
— krok, z którym wyciągane są znaki.
Składnia slice'ów pozwala na określenie początkowego i końcowego indeksu podciągu, który chcesz wyciągnąć.
text = "Hello, world!"
substring = text[7:12] # Wyświetli 'world'
11.2 Niekompletne indeksowanie
Nie trzeba podawać wszystkich trzech indeksów, aby wyciągnąć podciąg.
- Jeśli
start
jest pominięty, slice zaczyna się od początku ciągu. - Jeśli
stop
jest pominięty, slice idzie do końca ciągu. - Jeśli
step
jest pominięty, znaki są wyciągane jeden po drugim.
Przykłady:
Napiszmy przykład, aby uzyskać podciąg zaczynający się od 7 znaku aż do końca ciągu
text = "Hello, world!"
substring = text[7:] # Wyświetli 'world!'
Teraz od początku ciągu do 10 znaku. Mam nadzieję, że pamiętasz, że ostatni znak zakresu nie jest włączany do wynikowego podciągu.
text = "Hello, world!"
substring = text[:10] # Wyświetli 'Hello, wor'
11.3 Ujemne indeksy
Ujemne indeksy w Python umożliwiają dostęp do elementów ciągu zaczynając od końca. Użycie ujemnych indeksów często sprawia, że kod staje się bardziej czytelny i wygodny, zwłaszcza gdy trzeba pracować z końcem ciągu.
Uzyskanie ostatniego znaku ciągu:
text = "Python"
last_char = text[-1]
print(last_char) # Wyświetli: 'n'
Uzyskanie przedostatniego znaku ciągu:
text = "Python"
second_last_char = text[-2]
print(second_last_char) # Wyświetli: 'o'
Aby uzyskać ostatnie trzy znaki ciągu:
text = "Python"
last_three = text[-3:]
print(last_three) # Wyświetli: 'hon'
Aby uzyskać ciąg, z wyłączeniem ostatniego znaku:
text = "Python"
all_but_last = text[:-1]
print(all_but_last) # Wyświetli: 'Pytho'
Zaawansowane użycie slice'ów
Dzięki parametrowi step
można tworzyć bardziej skomplikowane slice'y, na przykład do wyciągania znaków w odwrotnej kolejności:
# Odwróć ciąg
print(text[::-1]) # '!dlrow ,olleH'
GO TO FULL VERSION