Encontre um caractere em uma string em Python
-
Use a função
find()
para encontrar a posição de um caractere em uma string -
Use a função
rfind()
para encontrar a posição de um caractere em uma string -
Use a função
index()
para encontrar a posição de um caractere em uma string -
Use o loop
for
para encontrar a posição de um caractere em uma string
Strings são uma coleção de caracteres. Cada caractere na string tem alguma posição específica que pode ser usada para acessá-lo. Neste tutorial, discutiremos como encontrar a posição de um caractere em uma string.
Use a função find()
para encontrar a posição de um caractere em uma string
A função find()
retorna a posição de uma substring. Também podemos especificar as posições inicial e final nas quais queremos pesquisar (por padrão, o início é 0 e o final é o comprimento da string).
No código a seguir, usaremos essa função para encontrar a posição de um caractere em uma string.
s = "python is fun"
c = "n"
print(s.find(c))
Resultado:
5
Observe que ele retorna a primeira posição do caractere encontrado na string. Outra coisa a lembrar sobre esta função é que ela retorna -1 quando a substring fornecida não está presente na string.
Use a função rfind()
para encontrar a posição de um caractere em uma string
Esta função é semelhante à função find()
, com a única diferença sendo que ela retorna a última posição da substring.
Por exemplo,
s = "python is fun"
c = "n"
print(s.rfind(c))
Resultado:
12
Use a função index()
para encontrar a posição de um caractere em uma string
A função index()
é usada de forma semelhante à função find()
para retornar a posição dos caracteres em uma string. Como a função find()
, ela também retorna a primeira ocorrência do caractere na string.
Por exemplo,
s = "python is fun"
c = "n"
print(s.index(c))
Resultado:
5
A diferença entre as funções index()
e find()
é que a função index()
retorna ValueError
quando o caractere necessário está faltando na string.
Use o loop for
para encontrar a posição de um caractere em uma string
Nesse método, podemos observar todas as ocorrências do caractere em uma string. Nós iteramos através da string e comparamos cada caractere individualmente. Cada posição onde a correspondência é encontrada é indicada e armazenada em uma variável diferente.
O código a seguir implementa essa lógica.
s = "python is fun"
c = "n"
lst = []
for pos, char in enumerate(s):
if char == c:
lst.append(pos)
print(lst)
Resultado:
[5, 12]
Usamos a função enumerate()
porque torna a iteração mais fácil e atribui uma variável de contador a cada caractere da string.
Também podemos implementar este método usando o método de compreensão de lista, que é considerado mais rápido e mais limpo.
Por exemplo,
s = "python is fun"
c = "n"
print([pos for pos, char in enumerate(s) if char == c])
Resultado:
[5, 12]
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn