Rozdział 8 · Zabawa literami i słowami

Plasterki rzędowe

Slicer wyciąga cały fragment ze sznurka naraz, a nie tylko jeden znak. Przeanalizujmy granice przecięcia wizualnie, według pudełek.

Wycinanie — to kawałek łańcucha

Wycinanie (slice) pobiera z łańcucha od razu kilka znaków z rzędu: строка[start:stop]. Proszę start — indeks, z którego pochodzi fragment się zaczyna (włącznie), ale stop to indeks, na którym wycink końców (NIE włącznie).

stop nie jest uwzględniany — i to celowo
Prawy obramowanie przekroju nie jest uwzględnione w wyniku. Brzmi to dziwnie, ale ma wygodną konsekwencję: długość kawałka jest zawsze równa stop - start. Wygodnie jest wizualizować indeksy nie jako liczby LITER, lecz jako liczby GRANIC MIĘDZY literami – spójrz na liczby nad poniższymi ramkami: są dokładnie pomiędzy.

Pierwsze trzy postacie

srez_pervye_tri.py
word = "Cartesian"
print(word[0:3])   # Car
0
1
2
3
4
5
6
7
8
9
C
a
r
t
e
s
i
a
n
"Car"
word[0:3] — od granicy 0 do granicy 3 (nie włączając jej)

Ostatnie trzy znaki

srez_poslednie_tri.py
word = "Cartesian"
print(word[6:9])   # ian
0
1
2
3
4
5
6
7
8
9
C
a
r
t
e
s
i
a
n
"ian"
word[6:9] — od granicy 6 do końca linii (granica 9)

Fragment ze środka

srez_seredina.py
word = "Cartesian"
print(word[3:6])   # tes
0
1
2
3
4
5
6
7
8
9
C
a
r
t
e
s
i
a
n
"tes"
word[3:6] – „średni” kawałek, od granicy 3 do granicy 6

Niepodane granice

Jeśli start pominąć – cięcie zaczyna się od samego początku Linie. Jeśli pominiesz stop — wycinek idzie aż do samego końca. Można pominąć oba granice naraz — wtedy powstaje kopia całego wiersza:

propushchennye_granicy.py
word = "Cartesian"
print(word[:3])    # Car — to samo co word[0:3]
print(word[6:])    #ian jest tym samym co word[6:9]
print(word[:])     #Cartesian - Kopia całego łańcuch znaków

Cut pitch

Fragment ma także trzeci, opcjonalny parametr — krok: строка[start:stop:step]. Krok 2 oznacza „bierz każdy drugi znak”:

shag_sreza.py
word = "Cartesian"
print(word[::2])    #Craea jest każda inna postać, od początku do końca

Odwrócenie linii: [::-1]

Ujemny krok przechodzi linię w przeciwnym kierunku. Jeśli pominiesz i start, i stop, ale zrób krok -1 — odwrócisz łańcuch znaków na odwrotną stronę:

razvorot_sreza.py
word = "Cartesian"
print(word[::-1])   # naisetraC
Najkrótszy sposób na rozciągnięcie sznurka
строка[::-1] to klasyczna technika Python. Trzeci parametr przekroju to „krok”
★★ Zadanie samodzielne
Środkowe litery w jednym kroku

Dla słowa „programowanie” uzyskaj przez wycinek każdą trzecią literę (krok 3), a następnie — samo słowo, odwrócone do tyłu.

Praktyka: Sekacze wierszy
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →