Разбиране на поднизовете в Python с примери

Тази статия има за цел да доведе обучаемия до по-добро разбиране на поднизовете в Python.

Ще ви научи как да създадете подниз, да извлечете различни части от него от низ и как работят поднизовете в Python, като използвате няколко примера за прилагане на това. Ще проверим допълнително за съществуването на подниза в низ.

Преди да започнем, важно е да знаем какво представляват низ и подниз. Низът е поредица от Unicode знаци, състояща се от буквено-цифрови знаци и/или специални знаци. Можем да дефинираме подниз като част от последователността от символи в низ.

Ще обсъдим следното:

  • Създаване на подниз.
  • Начини за нарязване на подниз.
  • Брой срещания на подниз
  • Намиране на наличието на подниз в низ.

Нека да започнем!

Създаване на подниз

Поднизът се създава главно с помощта на техниката на нарязване. Тази техника позволява извличането на подниза чрез дефиниране на разделителите на началния индекс, крайния индекс и стъпката. Тези разделители позволяват извличането чрез указване на точния индекс на знаците, които искате да получите.

Синтаксисът изглежда така:

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

Имайте предвид, че стойността на индекса във всеки низ започва от нула.

Параметърът begin-index указва началния индекс на подниза. Следователно, ако пропуснете този елемент при нарязване, Python автоматично приема стойността на индекса му за нула.

End-index е последният индекс на подниза. Когато не го споменавате, нарязването приема, че стойността му е равна на дължината на низа.

Стъпка: Показва следващия символ, който трябва да се вземе предвид след текущия знак. Стойността на този параметър обикновено е единица. Когато параметърът стъпка е пропуснат по време на нарязване, стойността му все още се приема за единица.

  6 най-добри IPFIX колектори и анализатори

Начини за нарязване на низ

Има няколко начина, по които можем да получим подниз от низ. Те включват:

#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])

„t“ в „to“ се отпечатва, тъй като стойността на индекса му е 8.

#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

Нарязването извлича втория знак след текущия. Следователно Python срезовете демонстрират s’ на 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

Отрицателната стъпка работи по следния начин:

Р
д
V
д
Р
С
д
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

Стойността на началния индекс на обратния низ по-горе започва от 0 по подразбиране и завършва на 6. Отрицателната стъпка обръща стойността на индекса на последния знак и го прилага към първия знак и отрича тази стойност.

Още примери за нарязване

Получаване на първите четири символа от подниз в низ.

string = 'characters'

print(string[0:4])

Ще изведе:

char

Намиране на наличието на подниз в низ

Python използва функцията find() или оператора „in“, за да провери съществуването на подниз в низ.

  Как да направите екранна снимка на Apple TV с помощта на Mac

Използване на примера за оператор „in“.

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

Примерът по-горе проверява дали поднизът ‘find’ присъства в декларирания низ. Тъй като поднизът не е намерен в низа, изходът е както е показано по-горе.

Замяната на подниза ‘find’ с подниза ‘that’ и проверката дали той съществува в низа или не ще върне вместо това ‘поднизът е намерен’, защото той присъства в низа.

Използване на пример за функция 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")

изход:

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

В горния пример се опитахме да намерим подниз, който не е част от нашия низ. Както видяхме по-горе, функцията find() проверява целия низ и не бъде намерен този конкретен „намерен“ подниз, тя връща изхода „Намереният подниз не съществува“ като изход.

Намиране на броя на срещанията на подниз

Python използва функцията count(), която прилага това условие, както в примера по-долу.

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

Заключение

Тази статия трябва да ви даде по-добро разбиране за това какво е подниз в Python, как да го създадете и ясно обясни идеята за нарязване и как да го приложите. Използвайки дадените по-горе примери като насоки, практикувайте повече примери, за да разберете по-добре концепцията.

Може също да научите как да създадете игра за отгатване на числа с помощта на Python или как да получите JSON данни в Python.

Приятно кодиране!