15.12.2022 Views

Python Eficaz

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

a[20]

>>>

IndexError: list index out of range

Nota

Tenha em mente que usar em uma lista índices negativos obtidos de uma

variável é uma das poucas situações em que podemos encontrar resultados

imprevisíveis na operação de fatiamento. Por exemplo, a expressão somelist[-n:]

funcionará bem se n for maior que 1 (por exemplo, somelist[-3:]). Entretanto, se

n for zero, a expressão somelist[-0:] resultará em uma cópia da lista original.

O resultado do fatiamento de uma lista é sempre uma lista nova. Nenhuma

referência aos itens da lista original é mantida. Modificar o resultado da nova

lista (que é uma fatia da original) não modificará a lista original.

b = a[4:]

print('Before: ', b)

b[1] = 99

print('After: ', b)

print('No change:', a)

>>>

Before: ['e', 'f', 'g', 'h']

After: ['e', 99, 'g', 'h']

No change: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

Quando usado em atribuições, as fatias substituem a porção especificada da lista

original. Ao contrário das atribuições de tuplas (como a, b = c[:2]), o tamanho da

fatia sendo atribuída não precisa ser o mesmo. Os valores que estiverem

posicionados antes e depois da fatia serão preservados. A lista crescerá ou

encolherá para acomodar os novos valores.

print('Before ', a)

a[2:7] = [99, 22, 14]

print('After ', a)

>>>

Before ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

After ['a', 'b', 99, 22, 14, 'h']

www.full-ebook.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!