Re: [python-brasil] Por quê do erro: list assignment index out of range

1,509 views
Skip to first unread message
Message has been deleted

Fabio C. Barrionuevo da Luz

unread,
May 14, 2018, 12:42:10 PM5/14/18
to python...@googlegroups.com
Você criou uma lista sem elementos, e tentou iterar sobre ela, usando indice que não existe.


list, tuple são iteraveis, então você simplesmente poderia fazer


for item in lista:
    print(item)


agora, se você precisa do indice, por algum motivo, você pode fazer

for indice, valor in enumerate(lista):
    msg = 'indice: {} , valor: {}'.format(indice, valor)
    print(msg)




Em 14 de maio de 2018 13:33, Caio Katarn <caio....@gmail.com> escreveu:
Amigos por favor não entendi até agora porque este erro acontece podem me esclarecer?

segue o código:

lista=[]

def aqui():
   for i in range(3):
        lista[i]=print('Valor de %s'%(i))
    return

aqui()

desde já agradeço atenção.

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasil+unsubscribe@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/ac4086b9-4584-4b7d-8f03-ab1a315f4355%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Fábio C. Barrionuevo da Luz
Palmas - Tocantins - Brasil - América do Sul


Blog colaborativo sobre Python e tecnologias Relacionadas, mantido totalmente no https://github.com/pythonclub/pythonclub.github.io .

Todos são livres para publicar. É só fazer fork, escrever sua postagem e mandar o pull-request. Leia mais sobre como publicar em README.md e contributing.md.
Regra básica de postagem:
"Você" acha interessante? É útil para "você"? Pode ser utilizado com Python ou é útil para quem usa Python? Está esperando o que? Publica logo, que estou louco para ler...

Rayan Sóstenes

unread,
May 14, 2018, 12:52:37 PM5/14/18
to Python Brasil
Pelo que percebi voce quer fazer um append na lista. O correto seria:

lista = []

def aqui():
  for i in range(3):
    value = 'Valor de %s' % i       
    lista.append(value)
    print(value)
  return

aqui()


Ou usando list comprehension:

lista = ['Valor de %s' % i for i in range(3)]
for valor in lista:
  print(valor)



---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/ac4086b9-4584-4b7d-8f03-ab1a315f4355%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Fábio C. Barrionuevo da Luz
Palmas - Tocantins - Brasil - América do Sul


Blog colaborativo sobre Python e tecnologias Relacionadas, mantido totalmente no https://github.com/pythonclub/pythonclub.github.io .

Todos são livres para publicar. É só fazer fork, escrever sua postagem e mandar o pull-request. Leia mais sobre como publicar em README.md e contributing.md.
Regra básica de postagem:
"Você" acha interessante? É útil para "você"? Pode ser utilizado com Python ou é útil para quem usa Python? Está esperando o que? Publica logo, que estou louco para ler...

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.


--
*Rayan Sóstenes Alves Gama da Motta*
*Analista de Sistemas*
*Graduando em Eng. de Controle e Automação*
*Cel: (62) 8248-4091*

Caio Katarn

unread,
May 14, 2018, 1:02:29 PM5/14/18
to Python Brasil
Fabio primeiramente muito obrigado pela explicação, como ficaria meu exemplo com este caso:


for indice, valor in enumerate(lista):
    msg = 'indice: {} , valor: {}'.format(indice, valor)
    print(msg)

tentei fazer:

lista=[1,2,3]

for lista[i],'2' in enumerate(lista):

    msg = 'indice: {} , valor: {}'.format(indice, valor)
    print(msg)

mas deu erro.

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/ac4086b9-4584-4b7d-8f03-ab1a315f4355%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Caio Katarn

unread,
May 14, 2018, 1:02:58 PM5/14/18
to Python Brasil
Obrigado, me ajudou a entender o list comprehension!

Fabio C. Barrionuevo da Luz

unread,
May 14, 2018, 1:04:52 PM5/14/18
to python...@googlegroups.com
Caio, explique qual o problema você quer resolver, assim posso te dar uma ajuda mais útil




---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.

Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Caio Katarn

unread,
May 14, 2018, 1:17:06 PM5/14/18
to Python Brasil
Era somente compreender quais as opções para iterar listas, vocês me deram uma grande ajuda mesmo!  sou estudante de Python e só não entendi muito bem esta:


for indice, valor in enumerate(lista):
    msg = 'indice: {} , valor: {}'.format(indice, valor)
    print(msg)

queria apenas para exercitar exibir 3 números de uma lista.
Reply all
Reply to author
Forward
0 new messages