Ir para o conteúdo

Listas

Listas

Listas são objetos para armazenar uma sequência de coisas (objetos).

Até então, uma variável era relacionada a um número (ou cadeia de caracteres), mas algumas vezes temos coleções de números, por exemplo, graus $ -20, -15, -10, -5, 0, \ldots, 40 $.

Solução simples: uma variável para cada valor:

C1 = -20
C2 = -15
C3 = -10
...
C13 = 40

Solução muito tediosa para muitos valores!

Melhor: um conjunto de valores podem ser colecionados em uma lista:

C = [-20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40]

Agora temos apenas uma variável, C, armazenando todos os valores.

Operações em listas

Inicialização e indexação

Inicialize com os colchetes e vírgulas entre os objetos Python:

    L1 = [-91, 'a string', 7.2, 0]

Os elementos são acessados via um índice:

    L1[3]

(índice = 3).

Os índices de listas iniciam em 0: 0, 1, 2, ... len(L1) - 1.

>>> lista = [4, 6, -3.5]
>>> print lista[0]
4
>>> print lista[1]
6
>>> print lista[2]
-3.5
>>> len(lista)  ## comprimento da lista
3

Anexar, estender, inserir, excluir

Através dos comandos append, extend, insert, delete, podemos anexar um elemento a mais ao final da lista, extender a lista com outra lista, inserir um novo elemento em determinada posição e apagar um elemento, respectivamente.

>>> C = [-10, -5, 0, 5, 10, 15, 20, 25, 30]
>>> C.append(35)   ## adiciona um novo elemento 35 ao final
>>> C
[-10, -5, 0, 5, 10, 15, 20, 25, 30, 35]
>>> C = C + [40, 45]     ## extende C no final
>>> C
[-10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
>>> C.insert(0, -15)     ## insere -15 como índice 0
>>> C
[-15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
>>> del C[2]             ## apaga o 3o elemento
>>> C
[-15, -10, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
>>> del C[2]             ## apaga o que é agora o 3o elemento
>>> C
[-15, -10, 5, 10, 15, 20, 25, 30, 35, 40, 45]
>>> len(C)               ## comprimento da lista
11

Busca por elementos, índices negativos

Podemos buscar um elemento em uma lista utilizando a classe .index() da lista, descobrir se um elemento está na lista com condicionais e buscar o último elemento com índices negativos.

>>> C.index(10)   ## índice do primeiro elemento com valor 10
3
>>> 10 in C       ## 10 é um elemento de C?
True
>>> C[-1]         ## o último elemento da lista
45
>>> C[-2]         ## o penúltimo elemento da lista
40
>>> umalista = ['book.tex', 'book.log', 'book.pdf']
>>> texfile, logfile, pdf = algumalist  ## atribuição dos valores direto à variáveis
>>> texfile
'book.tex'
>>> logfile
'book.log'
>>> pdf
'book.pdf'