Zrozumienie podciągów w Pythonie za pomocą przykładów

Ten artykuł ma na celu umożliwienie uczniowi lepszego zrozumienia podciągów w Pythonie.

Nauczy Cię, jak utworzyć podłańcuch, wyodrębnić różne jego części z łańcucha i jak działają podłańcuchy w Pythonie, używając kilku przykładów, aby to zaimplementować. Sprawdzimy dalej, czy podciąg istnieje w ciągu.

Zanim zaczniemy, ważne jest, aby wiedzieć, czym jest ciąg i podciąg. Ciąg to sekwencja znaków Unicode składająca się ze znaków alfanumerycznych i/lub znaków specjalnych. Możemy zdefiniować podciąg jako część sekwencji znaków w ciągu.

Omówimy następujące kwestie:

  • Tworzenie podciągu.
  • Sposoby krojenia podciągu.
  • Liczba wystąpień podciągu
  • Znajdowanie obecności podciągu w ciągu.

Zaczynajmy!

Tworzenie podciągu

Podciąg tworzony jest głównie przy użyciu techniki krojenia. Ta technika umożliwia wyodrębnienie podciągu poprzez zdefiniowanie ograniczników początku indeksu, końca indeksu i kroku. Te ograniczniki umożliwiają wyodrębnienie poprzez określenie dokładnego indeksu znaków, które chcesz uzyskać.

Składnia wygląda tak:

string[begin-index: end-index: step]

Zauważ, że wartość indeksu w dowolnym ciągu zaczyna się od zera.

Parametr begin-index wskazuje początkowy indeks podciągu. Dlatego jeśli pominiesz ten element podczas krojenia, Python automatycznie przyjmie, że jego wartość indeksu wynosi zero.

End-index to ostatni indeks podciągu. Jeśli o tym nie wspomnisz, cięcie zakłada, że ​​jego wartość jest równa długości łańcucha.

Krok: Wskazuje następny znak do rozważenia po obecnym znaku. Wartość tego parametru wynosi zwykle jeden. Gdy parametr step zostanie pominięty podczas krojenia, nadal przyjmuje się, że jego wartość wynosi jeden.

Sposoby krojenia sznurka

Istnieje kilka sposobów uzyskania podciągu z ciągu. Obejmują one:

#1. Krojenie przy użyciu indeksu początku i indeksu końca.

String = string[begin-index : end-index]

W przypadku, gdy chcesz uzyskać imię osoby z jej pełnego imienia i nazwiska, zaimplementujesz to w następujący sposób:

string = 'Michael Doe'

print(string[0:7])

Wynikiem będą:

Michael

#2. Krojenie przy użyciu indeksu początkowego bez indeksu końcowego.

String= string[begin-index:]

W tym miejscu wskazujemy tylko, od jakiego indeksu chcemy rozpocząć wyodrębnianie naszych znaków podłańcuchowych z ciągu — wyodrębniamy fragmenty do ostatniego indeksu całego ciągu, który zwykle ma indeks -1.

Przykład:

string = 'This is to demonstrate slicing of a string using the begin-index without the end-index'

print(string[7:])

Wyjście:

to demonstrate slicing of a string using the begin-index without the end-index

#3. Krojenie przy użyciu indeksu końcowego bez indeksu początku.

String = string[:end-index]

Tutaj wskazujemy ostatni znak, który powinien zawierać podciąg, pomijając miejsce, od którego powinien się zaczynać. W związku z tym wycinanie spowoduje wyświetlenie podciągu rozpoczynającego się od znaku zerowego indeksu ciągu.

Przykład:

string = 'This is to demonstrate slicing of a string using the end-index without the begin-index'

print(string[:9])

Wyjście:

This is t

#4. Krojenie całego sznurka.

String = string[ : ]

W tym przypadku nie identyfikujemy żadnego z ograniczników; dlatego zwracany jest cały ciąg.

Przykład

string = 'This is to demonstrate slicing of the entire string'

print(string[:])

Wyjście:

This is to demonstrate slicing of the entire string

#5. Wycinanie pojedynczego znaku z ciągu.

String = string[index]

Tutaj wycinana jest dokładna wartość indeksu znaku ciągu.

Przykład:

string = 'This is to demonstrate slicing of a single character from a string'

print(string[8])

’t’ w 'to’ jest drukowane, ponieważ jego wartość indeksu wynosi 8.

#6. Krojenie przy użyciu indeksu początku, indeksu końca i kroku.

Przykład

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:1])

Gdy wartość kroku jest ustawiona na 1, następuje normalne krojenie i tutaj jest wyprowadzany następujący tekst.

demonstrate s

Korzystając z tego samego przykładu, ustawmy wartość kroku na 2.

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:2])

Krojenie postaci zostanie wykonane w krokach po 2 w ten sposób.

dmntaes

Slicing wyodrębnia drugi znak po bieżącym. Dlatego fragmenty Pythona „demonstrują s” Dmntaes.

7. Odwracanie ciągu za pomocą kroku ujemnego.

W tym przykładzie cały ciąg zostanie wyświetlony od ostatniego znaku ciągu do pierwszego.

string = 'This is to demonstrate reversing string using the negative step'

print(string[::-1])

Wyjście:

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

Negatywny krok działa tak:

R
mi
V
mi
R
S
mi
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

Początkowa wartość indeksu odwróconego ciągu powyżej domyślnie zaczyna się od 0 i kończy na 6. Ujemny krok odwraca wartość indeksu ostatniego znaku i stosuje go do pierwszego znaku i neguje tę wartość.

Więcej przykładów na krojenie

Uzyskanie pierwszych czterech znaków podciągu w ciągu.

string = 'characters'

print(string[0:4])

Wygeneruje:

char

Znajdowanie obecności podciągu w ciągu

Python używa funkcji find() lub operatora 'in’ do sprawdzenia istnienia podciągu w ciągu.

Korzystanie z przykładowego operatora „w”

string = 'this is to demonstrate that a particular substring is found in a string '
if 'find' in string: 
    print('The substring is found') 
else: 
    print('Could not find the substring defined')

Wyjście:

Could not find the substring defined

Powyższy przykład sprawdza, czy podciąg „find” jest obecny w zadeklarowanym ciągu. Ponieważ podciąg nie został znaleziony w ciągu, dane wyjściowe są takie, jak pokazano powyżej.

Zastąpienie podciągu „find” podciągiem „that” i sprawdzenie, czy istnieje w ciągu, czy nie, zwróci zamiast tego „znaleziono podciąg”, ponieważ jest on obecny w ciągu.

Korzystając z przykładu funkcji find():

string = 'using string to find if a substring is present in a string'

if string.find('found') != -1:

    print("The substring 'found' exists")

else:

    print("The substring 'found' does not exist")

wyjście:

<code class="language-python">The substring 'found' does not exist

W powyższym przykładzie próbowaliśmy znaleźć podciąg, który nie jest częścią naszego ciągu. Jak widzieliśmy powyżej, funkcja find() sprawdza cały ciąg i nie znajduje tego konkretnego „znalezionego” podciągu, jako wynik zwraca wynik „Znaleziony podciąg nie istnieje”.

Znajdowanie liczby wystąpień podciągu

Python używa funkcji count(), która implementuje ten warunek, jak w poniższym przykładzie.

string = " Counting the number of occurrences of 'o' in this string "

print("The 'o' substring count is: ",string.count('o'));

Wyjście:

The 'o' substring count is:  5

Wniosek

Ten artykuł powinien dać Ci lepsze zrozumienie, czym jest podciąg w Pythonie, jak go utworzyć, a także jasno wyjaśnić ideę dzielenia na plasterki i jak go zaimplementować. Używając przykładów podanych powyżej jako wskazówek, przećwicz więcej przykładów, aby lepiej zrozumieć koncepcję.

Możesz również dowiedzieć się, jak stworzyć grę w zgadywanie liczb za pomocą Pythona lub jak uzyskać dane JSON w Pythonie.

Udanego kodowania!