logo

Preverite, ali ima niz znak v Pythonu

Ena najpogostejših operacij v vsakem programskem jeziku je ugotavljanje, ali dani niz vsebuje podniz. Python ima številne metode za ugotavljanje, ali dani niz vsebuje znak. Operator 'in' Pythona, ki služi kot orodje za primerjalne operacije, je najhitrejši in najpreprostejši način za ugotavljanje, ali niz Python vključuje znak. Preverjanje, ali niz vključuje podniz, koristi tudi uporabi drugih funkcij Python, kot so find(), index(), count() in druge.

Uporaba Pythonovega 'in' operatorja

Operator 'in' v Pythonu je najhitrejši in najpreprostejši način za ugotavljanje, ali niz vsebuje podniz ali ne. Če ima niz znake, ta operacija vrne logično vrednost true; sicer vrne false.

Koda

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

Izhod:

 The string 'tut' is present in the string: True 

Če je niz, podan kot levi argument, vključen v niz, podan kot desni argument, daje operator 'in' True. Sprejema dva parametra, enega na vsaki strani. Operator 'in' v Pythonu obravnava velike in male črke ločeno, saj je operater občutljiv na velike in male črke.

Uporaba funkcije __contains__().

Funkcija __contains__() razreda String v Pythonu ponuja tudi način za ugotavljanje, ali podani niz vsebuje podniz ali ne. Pythonova operacija 'in' pokliče metodo __contains__(), kadar je uporabljena implicitno. Ko se predmet razreda pojavi na desni strani operatorjev 'in' in 'not in', je vedenje definirano z metodo __contains__. Čeprav lahko, se odločimo, da te metode ne bomo izrecno uporabili. Čeprav se funkcije s podčrtaji kot prvim znakom obravnavajo kot semantično zasebne, je za berljivost priporočljiva uporaba operatorjev 'in'.

Koda

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

Izhod:

 The string 'tut' is present in the string: True 

Uporaba Pythonove metode str.find().

Uporabite lahko tudi tehniko string.find(). Funkcija find() ugotavlja, ali v danem nizu obstaja podniz. Če najde, funkcija find() vrne -1; sicer poda začetni indeks podniza znotraj niza.

Koda

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

Izhod:

xd xd pomen
 The character 'T' is present in the string at: 7 

Ta pristop je sprejemljiv; vendar je uporaba str.find() manj pitonski način za dokončanje te naloge. Čeprav je daljši in nekoliko bolj zmešan, še vedno opravi svojo nalogo.

Uporaba metode str.count().

Če želite prešteti primerke določenega podniza znotraj niza, uporabite funkcijo Python count(). Funkcija daje 0, če ne najde podniza ali znaka v danem nizu.

Koda

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

Izhod:

 The character 'o' is present in the string 2 times.