e se eu quiser encontrar a palavra isda frase this is a cool dude? Eu tentei o método find, mas ele retorna o índice 2 em vez de 5. Como faço para isso usando find ()?
Regressor
@ Regressor: observe os limites de expressões regulares e de expressões regulares.
Mechanical_meat
27
Visão geral rápida: indexefind
Ao lado do findmétodo existe também index. finde indexambos se obter o mesmo resultado: o retorno à posição da primeira ocorrência, mas , se nada for encontrado indexvai elevar um ValueErrorpasso que findretorna -1. Speedwise, ambos têm os mesmos resultados de benchmark.
s.find(t)#returns: -1, or index where t starts in s
s.index(t)#returns: Same as find, but raises ValueError if t is not in s
Conhecimento adicional: rfinde rindex:
Em geral, encontrar e indexar retornar o menor índice onde o passou-in começa cordas, e rfinde rindexdevolver o maior índice de onde começa A maior parte da cadeia de algoritmos de busca busca de esquerda para a direita , de modo que as funções começando com rindicar que a pesquisa acontece de direito para a esquerda .
Portanto, caso a probabilidade do elemento que você está pesquisando esteja próxima do final do que no início da lista, rfindou rindexseja mais rápida.
s.rfind(t)#returns: Same as find, but searched right to left
s.rindex(t)#returns: Same as index, but searches right to left
se a string for definida como input_string = "this is a sentence"e se desejarmos encontrar a primeira ocorrência da palavra is, ela funcionará? # first occurence of word in a sentence input_string = "this is a sentence" # return the index of the word matching_word = "is" input_string.find("is")
Regressor
1
implementar isso de maneira algorítmica, não usando nenhuma função embutida em python. Isso pode ser implementado como
def find_pos(string,word):for i in range(len(string)- len(word)+1):if string[i:i+len(word)]== word:return i
return'Not Found'
string ="the dude is a cool dude"
word ='dude1'print(find_pos(string,word))# output 4
Parece que o seu recuo está desativado e você esqueceu de fechar as aspas. A explicação do seu código e por que ele resolveria o problema também é útil; ver como responder
camille
desculpe eu editá-lo ... meu código encontrar a primeira ocorrência de uma letra na string e retornar seu lugar
Benmadani Yazid 15/01
0
verse = "Se você consegue manter a cabeça quando tudo a seu redor está perdendo a culpa e culpando você, \ nSe você pode confiar em si mesmo quando todos os homens duvidam de você, \ n Mas permita também que eles duvidem; \ nSe você puder espere e não se canse de esperar, \ n Ou sendo enganado, não lide com mentiras, \ ou seja odiado, não deixe de odiar, \ n E, no entanto, não pareça muito bom, nem fale com muita sabedoria : "
enter code here
print(verse)#1. What is the length of the string variable verse?
verse_length = len(verse)print("The length of verse is: {}".format(verse_length))#2. What is the index of the first occurrence of the word 'and' in verse?
index = verse.find("and")print("The index of the word 'and' in verse is {}".format(index))
-1
se não for encontradois
da frasethis is a cool dude
? Eu tentei o método find, mas ele retorna o índice 2 em vez de 5. Como faço para isso usando find ()?Visão geral rápida:
index
efind
Ao lado do
find
método existe tambémindex
.find
eindex
ambos se obter o mesmo resultado: o retorno à posição da primeira ocorrência, mas , se nada for encontradoindex
vai elevar umValueError
passo quefind
retorna-1
. Speedwise, ambos têm os mesmos resultados de benchmark.Conhecimento adicional:
rfind
erindex
:Portanto, caso a probabilidade do elemento que você está pesquisando esteja próxima do final do que no início da lista,
rfind
ourindex
seja mais rápida.Fonte: Python: Guia Visual QuickStart, Toby Donaldson
fonte
input_string = "this is a sentence"
e se desejarmos encontrar a primeira ocorrência da palavrais
, ela funcionará?# first occurence of word in a sentence input_string = "this is a sentence" # return the index of the word matching_word = "is" input_string.find("is")
implementar isso de maneira algorítmica, não usando nenhuma função embutida em python. Isso pode ser implementado como
fonte
fonte
verse = "Se você consegue manter a cabeça quando tudo a seu redor está perdendo a culpa e culpando você, \ nSe você pode confiar em si mesmo quando todos os homens duvidam de você, \ n Mas permita também que eles duvidem; \ nSe você puder espere e não se canse de esperar, \ n Ou sendo enganado, não lide com mentiras, \ ou seja odiado, não deixe de odiar, \ n E, no entanto, não pareça muito bom, nem fale com muita sabedoria : "
fonte