Perguntas sobre índices negativos

Perguntas sobre índices negativos

por José Coelho de Pina -
Número de respostas: 1

Salve,

Por favor, gostaria de saber as respostar para as perguntas no trecho de código abaixo.

 

Python 3.6.1 (default, Mar 22 2017, 06:17:05) 
[GCC 6.3.0 20170321] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> lista = ['oi', 3.14, True, None, 44, 55]
>>>
>>> # PERGUNTA: Qual a diferença entre as duas atribuições a seguir? 
>>> x = lista[len(lista)-1] + lista[len(lista)-2]
>>> y = lista[-1] + lista[-2]
>>>
>>> # PERGUNTA: Qual a diferença entre as duas atribuições a seguir?
>>> z = lista[len(lista)-3]
>>> w = lista[-3]
>>>
>>> # PERGUNTA: Qual o valor exibido pelo print() a seguir?
>>> print(lista[-6])

>>> # PERGUNTA: Qual o valor exibido pelo print() a seguir?
>>> print(lista[-7]) 


Em resposta à José Coelho de Pina

Re: Perguntas sobre índices negativos

por Pedro T. R. Pinheiro -

R1: Diferença prática? Nenhuma. Do ponto de vista da lógica, porém, há uma pequena diferença: no primeiro caso, são obtidos os índices de fato, através de subtração da contagem de itens, enquanto no segundo caso, o Python simplesmente está voltando ao final da lista sem necessariamente saber qual o índice dos objetos. 

R2: Idem

R3: 'oi'

R4: Provavelmente, Index out of range...