Viena iš dažniausiai atliekamų operacijų kiekvienoje programavimo kalboje yra nustatyti, ar tam tikroje eilutėje yra poeilutė. Python turi daugybę metodų, leidžiančių nustatyti, ar tam tikroje eilutėje yra simbolis. Python operatorius „in“, kuris naudojamas kaip palyginimo operacijų įrankis, yra greičiausias ir lengviausias būdas nustatyti, ar Python eilutėje yra simbolis. Patikrinant, ar eilutėje yra poeilutė, taip pat naudinga naudoti kitas Python funkcijas, tokias kaip find(), index(), count() ir kt.
„Python“ operatoriaus „in“ naudojimas
Python operatorius „in“ yra greičiausias ir lengviausias būdas nustatyti, ar eilutę sudaro poeilutė, ar ne. Jei eilutėje yra simbolių, ši operacija grąžina loginį teisingą; kitu atveju grąžinama klaidinga.
Kodas
# 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)
Išvestis:
The string 'tut' is present in the string: True
Jei eilutė, nurodyta kaip kairysis argumentas, yra įtraukta į eilutę, pateiktą kaip dešinysis argumentas, operatorius „in“ suteikia „True“. Jis priima du parametrus, po vieną kiekvienoje pusėje. „Python“ operatorius didžiąsias ir mažąsias raides apdoroja atskirai, nes jame skiriamos didžiosios ir mažosios raidės.
Naudojant __contains__() funkciją
Python eilutės klasės funkcija __contains__() taip pat suteikia galimybę nustatyti, ar nurodytoje eilutėje yra poeilutė, ar ne. Python operacija „in“ iškviečia __contains__() metodą, kai naudojamas netiesiogiai. Kai klasės objektas pasirodo dešinėje operatorių „in“ ir „not in“ pusėje, elgsena apibrėžiama metodu __contains__. Nors ir galime, nusprendžiame šio metodo aiškiai nenaudoti. Nors funkcijos, kurių pirmasis simbolis yra apatiniai brūkšniai, laikomos semantiškai privačiomis, patartina naudoti „in“ operatorius, kad būtų lengviau skaityti.
Kodas
# 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'))
Išvestis:
The string 'tut' is present in the string: True
Naudojant Python str.find() metodą
Taip pat galite naudoti string.find() techniką. Funkcija find() nustato, ar nurodytoje eilutėje yra poeilutė. Jei randa, funkcija find() grąžina -1; kitu atveju jis pateikia eilutės viduje esančios eilutės pradžios indeksą.
Kodas
# 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')
Išvestis:
The character 'T' is present in the string at: 7
Šis metodas yra priimtinas; tačiau naudojant str.find() yra mažiau pythonic būdas atlikti šią užduotį. Nors jis yra ilgesnis ir šiek tiek painesnis, jis vis tiek atlieka užduotį.
Naudojant str.count() metodą
Naudokite Python count() funkciją, jei norite suskaičiuoti tam tikros poeilutės atvejus eilutėje. Funkcija suteikia 0, jei negali rasti poeilutės ar simbolio nurodytoje eilutėje.
Kodas
# 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')
Išvestis:
The character 'o' is present in the string 2 times.