logo

Provjerite ima li niz znakova u Pythonu

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.