Разумевање подстрингова у Питхон-у са примерима

Овај чланак има за циљ да доведе ученика до бољег разумевања подстрингова у Питхон-у.

Научиће вас како да креирате подниз, извучете различите његове делове из стринга и како функционишу поднизови у Питхон-у користећи неколико примера за имплементацију овога. Даље ћемо проверити постојање подниза у низу.

Пре него што почнемо, битно је да знамо шта су низ и подниз. Стринг је низ Уницоде знакова који се састоји од алфанумеричких знакова и/или специјалних знакова. Подстринг можемо дефинисати као део низа знакова унутар стринга.

Разговараћемо о следећем:

  • Креирање подниза.
  • Начини пресецања подниза.
  • Број појављивања подниза
  • Проналажење присуства подниза у низу.

Почнимо!

Креирање подниза

Подниз се креира углавном техником сечења. Ова техника омогућава екстракцију подниза дефинисањем граничника индекса почетка, крајњег индекса и корака. Ови граничници омогућавају екстракцију навођењем прецизног индекса знакова које желите да добијете.

Синтакса изгледа овако:

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

Имајте на уму да вредност индекса у било ком стрингу почиње од нуле.

Параметар бегин-индек указује на почетни индекс подниза. Стога, ако изоставите овај елемент приликом сечења, Питхон аутоматски претпоставља да је његова вредност индекса нула.

Енд-индек је последњи индекс подниза. Када то не помињете, сечење претпоставља да је његова вредност једнака дужини стринга.

Корак: Указује на следећи знак који треба размотрити после тренутног знака. Вредност овог параметра је обично један. Када се параметар корака изостави током сечења, његова вредност се и даље претпоставља као један.

  8 платформи за машинско учење са ниским кодом и без кода

Начини пресецања канапа

Постоји неколико начина на које можемо добити подстринг из стринга. Ови укључују:

#1. Сечење користећи почетни индекс и крајњи индекс.

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

У случају да желите да добијете име особе из њеног пуног имена, применићете то на следећи начин:

string = 'Michael Doe'

print(string[0:7])

Излаз ће бити:

Michael

#2. Сечење помоћу индекса почетка без индекса краја.

String= string[begin-index:]

Овде само назначавамо из ког индекса желимо да почнемо да издвајамо наше знакове подстринга из стринга – сечемо екстракте до последњег индекса целог стринга који обично има индекс -1.

Пример:

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

print(string[7:])

Излаз:

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

#3. Сечење коришћењем енд-индека без индекса почетка.

String = string[:end-index]

Овде указујемо на последњи знак који подниз треба да садржи, изостављајући одакле треба да почне. Због тога ће сечење приказати подстринг који почиње нултим знаком индекса стринга.

Пример:

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

print(string[:9])

Излаз:

This is t

#4. Резање целе жице.

String = string[ : ]

У овом случају, не идентификујемо ниједан од граничника; стога се враћа цео низ.

Пример

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

print(string[:])

Излаз:

This is to demonstrate slicing of the entire string

#5. Одсецање једног знака из стринга.

String = string[index]

Прецизна вредност индекса карактера низа је овде исечена.

Пример:

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

print(string[8])

‘т’ у ‘до’ се штампа пошто је његова вредност индекса 8.

  Како Веб 3.0 заувек мења интернет

#6. Сечење помоћу индекса почетка, индекса краја и корака.

Пример

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

print(string[11:24:1])

Када је вредност корака постављена на 1, долази до нормалног пресецања и овде се излази следеће.

demonstrate s

Користећи исти пример, поставимо вредност корака на 2.

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

print(string[11:24:2])

Резање знакова ће се обавити у корацима од 2 попут овога.

dmntaes

Сечењем се издваја други знак после тренутног. Стога, Питхон делови демонстрирају с’ Дмнтаесу.

#7. Обрнути низ помоћу негативног корака.

У овом примеру, цео низ ће бити приказан од последњег карактера низа до првог.

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

print(string[::-1])

Излаз:

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

Негативан корак функционише овако:

Р
Е
В
Е
Р
С
Е
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

Почетна вредност индекса обрнутог низа изнад подразумевано почиње од 0 и завршава се на 6. Негативан корак обрће вредност индекса последњег знака и примењује је на први знак и негира ову вредност.

Још примера о резању

Добијање прва четири знака подниза у низу.

string = 'characters'

print(string[0:4])

Издаће:

char

Проналажење присуства подниза у низу

Питхон користи или функцију финд() или ‘ин’ оператор да провери постојање подниза у стрингу.

Користећи пример оператора ‘ин’

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')

Излаз:

Could not find the substring defined

Пример изнад проверава да ли је подниз ‘финд’ присутан у декларисаном низу. Пошто подниз није пронађен у низу, излаз је као што је приказано изнад.

  Како променити подразумеване апликације за датотеке на вашем Мац-у

Замена подниза ‘пронађи’ поднизом ‘тхат’ и провера да ли постоји у стрингу или не би вратила ‘подниз је пронађен’ уместо тога јер је присутан у стрингу.

Користећи пример функције финд():

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")

излаз:

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

У горњем примеру, покушали смо да пронађемо подстринг који није део нашег стринга. Као што смо видели горе, функција финд() проверава цео стринг и не пронађе овај конкретни ‘пронађени’ подниз, она враћа излаз ‘Пронађени подниз не постоји’ као излаз.

Проналажење броја појављивања подниза

Питхон користи функцију цоунт() која имплементира овај услов, као у примеру испод.

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

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

Излаз:

The 'o' substring count is:  5

Закључак

Овај чланак би требало да вам пружи боље разумевање шта је подниз у Питхон-у, како да га креирате, и јасно је објаснио идеју сечења и како да је примените. Користећи горе наведене примере као смернице, вежбајте више примера да бисте боље разумели концепт.

Такође можете научити како да направите игру погађања бројева користећи Питхон или како да добијете ЈСОН податке у Питхон-у.

Срећно кодирање!