Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luis Meirelles

Mostrar index exato de um caractere em uma string

Recommended Posts

Olá, estou com uma dúvida. Se eu quiser saber o índice de uma letra em uma string, eu uso o .index(), correto?

O seguinte código:

nom

nome = 'luis'
print(nome.index('l'))

Retornaria 0, correto?

Também poderia usar o .find (), que obteria o mesmo resultado, mas se eu modificar essa string, e ela tiver duas letras iguais, então este código:

sobrenome = 'meirelles'
print(sobrenome.index('l'))

Retornaria 5, sendo que o primeiro 'l' está no index cinco, mas tem um segundo 'l', que está no Index 6.Como eu faço para mostrar o Index exato dos caracteres, mesmo se eles se repetirem na string??

 

Desde já, agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites
import re
s = "string com caracteres repetidos"
print [m.start() for m in re.finditer('e', s)]

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, _Isis_ disse:

import re
s = "string com caracteres repetidos"
print [m.start() for m in re.finditer('e', s)]

 

Cara, to aqui de novo porque quando eu executo meu script com esse codigo, ele, tipo faz uma lista com uma lista dentro (nao sei se uda alguma coisa, pois antes eu estudava Java e la tinha arrays 2D ou matrizes, e elas se comportavam diferente). no meu programa, eu tenho que adicionar esses valores em uma lista que ja tem outros valores com o .append(). Tem como eu adicionar sem ficar com estes colchetes a mais??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tanto na versão 2.7 como na 3.6 é gerada uma lista simples contendo os índices. Não tem nada a mais dentro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei se você me entendeu, sim, e gerada um lista simples, mas quando eu coloco tipo, esse codigo:

import re
lista = [3, 8]
s = "string com caracteres repetidos"
indices = ([m.start() for m in re.finditer('e', s)])
lista.append(indices)
print(lista)

ele retorna: [3, 8, [17, 19, 23, 25]]

tem como fazer ele retornar algo como [3, 8, 17, 19, 23, 25], ou nao muda nada??

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei se você me entendeu

Não, porque a não ser que você poste o código inteiro, não tenho como saber o que você está fazendo.

 

Use o método extend, não o append.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por LuizH.M
      from urllib.request import urlopen   response = urlopen("http://vimeo.com/api/v2/video/57733101.json").read().decode('utf8') dados = json.loads(response)[0] print(dados)   print('Titulo: ',dados['title']) print('URL: ',dados['url']) print('Duração',dados['duration'])     a parte do json fala que não está definida   me ajudem pls    estou usando o visual studio
       
    • Por Marcosvn
      Quero desenvolver um site semelhante a esse: https://www.catalogosofertas.com.br/ 
       
      No qual eles enviam diversas ofertas e encartes recentes de lojas em geral e supermercados. Eles possuem muito conteúdo que são atualizados frequentemente, no entanto, muitos dos supermercados, por exemplo, não possuem os folhetos de cada cidade em seus sites. De modo que pudesse criar um scraper pra ficar acompanhando as atualizações. 
       
      Ao mesmo tempo não imagino que eles tenha muitos funcionários fazendo isso, pois são muitas lojas e supermercados que o encarte vence em alguns dias. Oq me faz pensar que manualmente é inviável manter as atualizações.
       
      Queria saber de vocês, que tem experiência com a área ou mesmo que já tenham trabalhado em projetos semelhantes, como posso me organizar para fazer isso acontecer assim como no site de exemplo: https://www.catalogosofertas.com.br/ 
       
      Como posso fazer isso ? Realmente teria q ficar criando diversos scraper e códigos pra ficar acompanhando os encartes de cada loja e supermercado?
       
      Qual dica, sugestão , orientação poderá me ser muito útil, pois estou confuso sobre como fazer isso acontecer.
    • Por Bruno Soares Slva
      Boa tarde pessoal,
      Estou com problemas para criar um robô. O mesmo esta dando na linha em negrito. Segue abaixo o erro que está aparecendo. Alguma informação. Estou usando o VSCode versão: 1.73.0, Python versão 3.8.0, chromedriver versão 18 (antepenúltima). Segue código e erro abaixo:
       
      Erro mostrado: 
       
      Windows PowerShell
      Copyright (C) Microsoft Corporation. Todos os direitos reservados.        
      Experimente a nova plataforma cruzada PowerShell https://aka.ms/pscore6   
      PS C:\Users\soare\Documents\Estudos\Python\projectCourse>  & 'C:\Users\soare\AppData\Local\Programs\Python\Python38\python.exe' 'c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher' '52080' '--' 'c:\Users\soare\Documents\Estudos\Python\projectCourse\projeto1\roboweb1.py'
      Traceback (most recent call last):
        File "C:\Users\soare\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 192, in _run_module_as_main
          return _run_code(code, main_globals, None,
        File "C:\Users\soare\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 85, in _run_code
          exec(code, run_globals)
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy\__main__.py", line 39, in <module>
          cli.main()
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 430, in main
          run()
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 284, in run_file
          runpy.run_path(target, run_name="__main__")
      PS C:\Users\soare\Documents\Estudos\Python\projectCourse>  c:; cd 'c:\Users\soare\Documents\Estudos\Python\projectCourse'; & 'C:\Users\soare\AppData\Local\Programs\Python\Python38\python.exe' 'c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher' '52168' '--' 'c:\Users\soare\Documents\Estudos\Python\projectCourse\projeto1\roboweb1.py' 
      Traceback (most recent call last):
        File "C:\Users\soare\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 192, in _run_module_as_main
          return _run_code(code, main_globals, None,
        File "C:\Users\soare\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 85, in _run_code
          exec(code, run_globals)
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy\__main__.py", line 39, in <module>
          cli.main()
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 430, in main
          run()
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 284, in run_file
          runpy.run_path(target, run_name="__main__")
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 320, in run_path
          code, fname = _get_code_from_file(run_name, path_name)
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 294, in _get_code_from_file
          code = compile(f.read(), fname, 'exec')
        File "c:\Users\soare\Documents\Estudos\Python\projectCourse\projeto1\roboweb1.py", line 17
          driver = webdriver.Chrome('C:\Users\soare\Documents\Estudos\Python\chromedriver', options=options)
                                    ^
      SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
      PS C:\Users\soare\Documents\Estudos\Python\projectCourse> 
       
       
      Obsrvação: 
      O erro está caindo nesta linha
      driver = webdriver.Chrome('C:\Users\soare\Documents\Estudos\Python\chromedriver', options=options)
       
       
       
      Codigo:
          from selenium import webdriver from selenium.webdriver.common.keys import Keys import time   options = webdriver.ChromeOptions() options.add_argument('--disable-logging') options.add_argument('--log-level=3')     driver = webdriver.Chrome('C:\Users\soare\Documents\Estudos\Python\chromedriver', options=options) driver.get("https://registro.br/")   pesquisa = driver.find_elements_by_id('is-avail-field') pesquisa.clear() pesquisa.send_keys('roboscompython.com.br') pesquisa.send_keys(Keys.RETURN)   time.sleep(8) driver.close()

         
       
       
       
       
       
       
       
       
       
    • Por Rafael Castelhano
      Boa tarde,
       
      Estou tentando criar uma imagem dinamicamente por javascript e carregá-la no input do formulário, apesar da imagem ser gerada corretamente, ao validar o formulário no python é retornado um erro alegando que o arquivo de imagem é inválido ou está corrompido.
       
      Segue gist com o código:
      https://gist.github.com/castelhano/bd72947e13421606453798bbf219cc74
    • Por Leandro T.
      pessoal bom dia alguém poderia me ajudar com o FormValidation?
       
      "nomefuncionario": {
                  validators: {
                      
                  
                    notEmpty: {
                      message: "Nome completo do funcionário é obrigatório."
                    } , <=== este funciona normalmente
                      
                      callback: {  // agora o callback nao consigo fazer funcionar
                              message: 'este nome não é valido',
                              callback: function (input) {
                                  if (input.value = 'algum valor digitado') {
                                      return true
                                  } }},
                      
                      
                      
                  }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.