Jedna od najčešćih operacija u svakom programskom jeziku je utvrđivanje sadrži li dati niz podniz. Python ima brojne metode za utvrđivanje sadrži li dati niz znakova. Operator 'in' u Pythonu, koji služi kao alat za operacije usporedbe, najbrži je i najlakši način za određivanje sadrži li Python niz znak. Provjera uključuje li niz podniz također ima koristi od upotrebe drugih Python funkcija kao što su find(), index(), count() i drugih.
int niz
Korištenje Python 'in' operatora
Operator 'in' u Pythonu je najbrži i najlakši način da odredite sadrži li niz podniz ili ne. Ako niz ima znakove, ova operacija vraća booleovu vrijednost true; inače vraća false.
Kodirati
# Python program to show how to use the in operator to check if a string contains a substring # Creating a string str='Python Tutorial' print('The string 'tut' is present in the string: ', 'Tut' in str)
Izlaz:
The string 'tut' is present in the string: True
Ako je niz zadan kao lijevi argument uključen unutar niza zadan kao desni argument, 'in' operator daje True. Prihvaća dva parametra, po jedan sa svake strane. Operator 'in' u Pythonu tretira velika i mala slova odvojeno jer je to operator koji razlikuje velika i mala slova.
Korištenje funkcije __contains__().
Funkcija __contains__() klase String u Pythonu također pruža način da se utvrdi sadrži li navedeni niz podniz ili ne. Pythonova 'in' operacija poziva metodu __contains__() kada se koristi implicitno. Kada se objekt klase pojavi s desne strane operatora 'in' i 'not in', ponašanje je definirano metodom __contains__. Iako možemo, odlučili smo ne koristiti eksplicitno ovu metodu. Iako se funkcije s podvlakom kao prvim znakom smatraju semantički privatnim, savjetuje se korištenje 'in' operatora radi čitljivosti.
Kodirati
# Python program to show how to use the __contain__ method to check if a string contains a substring # Creating a string string = 'Python Tutorial' print('The string 'tut' is present in the string: ', string.__contains__('Tut'))
Izlaz:
The string 'tut' is present in the string: True
Korištenje Pythonove metode str.find().
Također možete koristiti tehniku string.find(). Funkcija find() utvrđuje postoji li podniz u zadanom nizu. Ako pronađe, funkcija find() vraća -1; inače, daje početni indeks podniza unutar niza.
Kodirati
# Python program to find a character in a string and get its index # Creating a string string = 'Python Tutorial' index = string.find('T') if index != -1: print('The character 'T' is present in the string at: ', index) else: print('The character is not present in the string')
Izlaz:
The character 'T' is present in the string at: 7
Ovaj pristup je prihvatljiv; međutim, korištenje str.find() je manje pythonic način za dovršavanje ovog zadatka. Iako je duži i nešto zbrkaniji, ipak ispunjava zadatak.
Korištenje metode str.count().
Upotrijebite Python funkciju count() ako želite prebrojati instance određenog podniza unutar niza. Funkcija daje 0 ako ne može pronaći podniz ili znak u zadanom nizu.
Kodirati
# Python program to check a character is present in the string using the count() function # Creating a string string = 'Python Tutorial' count = string.count('o') if count != 0: print(f'The character 'o' is present in the string {count} times.') else: print('The character is not present in the string')
Izlaz:
The character 'o' is present in the string 2 times.