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
forpara 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