4. Listas

As variáveis criadas no último item referem-se a uma informação única, um número, uma palavra, ou frase. Para dar um nome para uma coleção de valores, ou elementos, podemos criar listas.

As listas são um outro tipo de dado, que podem conter diferentes tipos de informação (str, bool, int, float) ou mesmos outras listas.

Podemos criar, por exemplo, uma lista com os estados do sul do Brasil, e seus respectivos valores do PIB para 2019 em milhões de reais (calculado pelo IBGE).

Vamos chamar essa lista de sul:

[1]:
sul = ["Paraná", 466377.04, "Santa Catarina", 323263.86, "Rio Grande do Sul", 482464.18]

Se verificarmos o tipo de informação (com a função type()), veremos que o tipo é list, ou seja, lista:

[2]:
type(sul)
[2]:
list

Para selecionar informações da lista, precisamos entender como a linguagem armazena os elementos.

O primeiro elemento corresponde sempre ao índice zero. Sendo assim, para podermos selecionar, por exemplo, o PIB do Paraná, o segundo elemento da lista, devemos selecionar o elemento de índice 1:

[3]:
sul[1]
[3]:
466377.04

Para selecionar as informações para o estado de Santa Catarina (índices 2 e 3), podemos usar o seguinte código:

[4]:
sul[0:2]
[4]:
['Paraná', 466377.04]

Observe que estamos selecionando uma sequência de elementos que vai de 0 até 2, porém sem incluir o elemento de índice 2 (terceiro elemento da lista).

O mesmo resultado pode ser obtido com o seguinte código:

[5]:
sul[ :2]
[5]:
['Paraná', 466377.04]

Ou seja, ao deixar o primeiro elemento em branco, estamos informando que queremos selecionar todos os elementos até o índice 2, sem incluir o próprio índice 2.

É possível também identificar os elementos por ordem inversa, utilizando números negativos. Por exemplo, para selecionar os dois últimos elementos da lista, podemos utilizar:

[6]:
sul[-2:]
[6]:
['Rio Grande do Sul', 482464.18]

Nesse caso, estamos selecionado os elementos de índices -2 e -1, ou seja, -2 (incluído) até o final da lista (elemento -1).

Outra forma de colocar esses dados seria criar sublistas dentro da lista, para deixar mais claro que a primeira informação é um nome seguida de um número que se refere a esse nome. Vamos salvar a nova lista como sul2 para que os dados da primeira lista sejam mantidos (se você colocar novamente o nome sul estará sobrescrevendo as informações anteriores).

[7]:
sul2 = [["Paraná", 466377.04],["Santa Catarina", 323263.86],["Rio Grande do Sul", 482464.18]]

Nesse caso, ao selecionarmos o primeiro elemento da lista, estamos acionando a primeira lista das listas:

[8]:
sul2[0]
[8]:
['Paraná', 466377.04]

Para selecionar apenas o segundo elemento (índice 1) da primeira lista (índice 0), podemos usar:

[9]:
sul2[0][1]
[9]:
466377.04

Observe que o primeiro elemento se refere a lista sul2, ou seja, estamos selecionando o elemento [1] de sul2[0].

Podemos também alterar elementos da lista. Por exemplo, podemos mudar o nome “Rio Grande do Sul” na lista sul para RS com o seguinte comando:

[10]:
sul[-2] = "RS"
print(sul)
['Paraná', 466377.04, 'Santa Catarina', 323263.86, 'RS', 482464.18]

Ou voltar o nome, utilizando:

[11]:
sul[4] = "Rio Grande do Sul"
print(sul)
['Paraná', 466377.04, 'Santa Catarina', 323263.86, 'Rio Grande do Sul', 482464.18]

Observe que as duas substituições são equivalentes. “Rio Grande do Sul” é o penúltimo elemento da lista (-2) e possui o quarto índice (quinto elemento).

Para deletar elementos, podemos usar a função del(). Por exemplo, podemos remover as informações do Paraná:

[12]:
del(sul[:2])
sul
[12]:
['Santa Catarina', 323263.86, 'Rio Grande do Sul', 482464.18]

Para adicionarmos novamente os mesmos elementos, podemos simplesmente usar o operador +:

[13]:
sul = ['Paraná', 466377.04] + sul
sul
[13]:
['Paraná',
 466377.04,
 'Santa Catarina',
 323263.86,
 'Rio Grande do Sul',
 482464.18]

As listas serão muito utilizadas dentro de outras funções. É importante ter certeza que os conceitos ficaram claros para prosseguir!