Una de les operacions més freqüents en tots els llenguatges de programació és determinar si una cadena determinada conté una subcadena. Python té nombrosos mètodes per determinar si una cadena determinada conté un caràcter. L'operador 'in' de Python, que serveix com a eina per a operacions de comparació, és la manera més ràpida i senzilla de determinar si una cadena de Python inclou un caràcter. Comprovar si una cadena inclou una subcadena també es beneficia de l'ús d'altres funcions de Python com find(), index(), count() i altres.
Utilitzant l'operador 'in' de Python
L'operador 'in' de Python és la manera més ràpida i senzilla de determinar si una cadena inclou una subcadena o no. Si la cadena té els caràcters, aquesta operació retorna un booleà true; en cas contrari, torna fals.
Codi
# 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)
Sortida:
The string 'tut' is present in the string: True
Si la cadena donada com a argument esquerre s'inclou dins de la cadena donada com a argument dret, l'operador 'in' dóna True. Accepta dos paràmetres, un a cada costat. L'operador 'in' de Python tracta les lletres majúscules i minúscules per separat, ja que és un operador sensible a majúscules.
Utilitzant la funció __contains__().
La funció __contains__() de la classe String de Python també proporciona una manera de determinar si la cadena donada conté o no una subcadena. L'operació 'in' de Python crida al mètode __contains__() quan s'utilitza implícitament. Quan un objecte de classe apareix a la part dreta dels operadors 'in' i 'not in', el comportament es defineix pel mètode __contains__. Tot i que podem, optem per no utilitzar aquest mètode de manera explícita. Tot i que les funcions amb guió baix com a primer caràcter es consideren semànticament privades, es recomana utilitzar operadors 'in' per a la seva llegibilitat.
llista de matrius java
Codi
# 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'))
Sortida:
The string 'tut' is present in the string: True
Utilitzant el mètode str.find() de Python
També podeu utilitzar la tècnica string.find(). La funció find() determina si existeix una subcadena a la cadena donada. Si troba, la funció find() retorna -1; en cas contrari, dóna l'índex inicial de la subcadena dins de la cadena.
Codi
# 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')
Sortida:
The character 'T' is present in the string at: 7
Aquest enfocament és acceptable; tanmateix, utilitzar str.find() és una manera menys Pythonic de completar aquesta tasca. Tot i que és més llarg i una mica més desordenat, encara compleix la tasca.
Utilitzant el mètode str.count().
Utilitzeu la funció Python count() si voleu comptar les instàncies d'una subcadena particular dins d'una cadena. La funció dóna 0 si no pot trobar la subcadena o el caràcter de la cadena donada.
Codi
# 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')
Sortida:
The character 'o' is present in the string 2 times.