Listas

['introdução', 'como usar']


Material de apoio para a disciplina Linguagem de Programação da UACSA/UFRPE

Produzido pelo prof. João Pimentel

Dica!

Já reparou que alguns dias depois daquele intensivão na véspera da prova já esquecemos quase tudo?

Os estudos científicos comprovam: estudar um pouco a cada dia é mais efetivo para o aprendizado de longo prazo do que estudar muito de uma vez só e depois passar vários dias sem estudar.


Agora nós vamos aprender mais um tipo de dados do Python: lista. Podemos pensar na lista como sendo um conjunto ordenado. Veja a explicação no vídeo a seguir.


Vídeo 1 (8min):

veja o código do vídeo no repl.it

Criamos as lista com colchetes. Dentro da lista (isto é, dentro dos colchetes), as "coisas" são separadas por vírgulas. Essas "coisas" são chamadas de elementos ou itens da lista. Os elementos da lista podem ser de qualquer tipo. Exemplos:

  • Uma lista com zero elementos:
    []
  • Uma lista com três números:
    [5, 10, 2]
  • Uma lista com três nomes de carro:
    ['palio', 'gol', 'celta']
  • Uma lista com três elementos de tipos diferentes:
    ['ka', 1.8, True]
  • Uma lista com três listas:
    [[5, 1], [2, 0], []]

type

Lembra que podemos verificar o tipo de um dado utilizando a função type()? Com isso podemos confirmar que 5 e [5] não são a mesma coisa

  • print(type(5))
    Resultado: <class 'int'>
  • print(type([5]))
    Resultado: <class 'list'>

5 é um simples int, já [5] é uma lista.

len

Para saber quantos elementos fazem parte de uma lista - ou seja, o "tamanho" da lista, podemos usar a função len(). len vem do inglês, length. Exemplos:

  • print(len([5, 5]))
    Resultado: 2
  • print(len(['1, 2, 3, 4']))
    Resultado: 1
  • print(len([1, 2, 3, 4]))
    Resultado: 4
  • print(len([]))
    Resultado: 0

Uma lista com zero elementos é uma lista vazia

len('string')

Você se lembra? A função len() também pode ser usada para calcular a quantidade de caracteres de uma string - ou seja, o tamanho da string:

  • print(len('a'))
    Resultado: 1
  • print(len('abc'))
    Resultado: 3
  • print(len(' a b c '))
    Resultado: 7 (os espaços também contam)
  • print(len(''))
    Resultado: 0

Uma string com zero caracteres é uma string vazia

Estudante 10:20 Professor, pra quê usar a função len? É só olhar o código e contar quantos elementos tem.
João Pimentel 10:22

As listas são dinâmicas, podemos acrescentar e remover elementos dela durante a execução.

quando isso acontece o(a) programador(a) não tem como adivinhar quantos elementos ficarão na lista

Estudante 10:30 não sei se entendi...
João Pimentel 10:42

Dá uma olhada no próximo slide

len

Vamos fazer uma lista de feira? Digite o que você precisa comprar:


Quantidade de itens na lista:

len

Entendeu? Muitas vezes não temos como saber de antemão quantos elementos a lista terá, já que as listas são dinâmicas: podemos acrescentar e remover elementos delas durante a execução.

sum

Para fazer o somatório dos elementos de uma lista podemos usar a função sum(), que vem do inglês, soma. Exemplos:

  • print(sum([5, 5]))
    Resultado: 10
  • print(sum([1, 2, 3, 4]))
    Resultado: 10
  • print(sum([]))
    Resultado: 0
  • print(sum(['oi', 'tchau']))
    Resultado: TypeError (só é possível fazer o somatório de números)
  • print(sum([[5], [2]]))
    Resultado: TypeError (só é possível fazer o somatório de números)

ordem

A ordem é importante nas listas. Por exemplo, as listas [1, 2] e [2, 1] são diferentes, apesar de conterem os mesmos elementos, já que os elementos estão em ordens diferentes.

Ao contrário de conjuntos da matemática, os elementos repetidos também fazem a diferença. Por exemplo, [2, 2] é diferente de [2], já que uma tem dois 2 e a outra tem só um 2.

  • print([1, 2] == [2, 1])
    Resultado: False
  • print([2, 2] == [2])
    Resultado: False

in

É possível saber se um elemento faz parte ou não de uma lista, com o comando in.

x = [5, 10, 15, 20, 25] print(10 in x) print(22 in x)

O primeiro print desse código vai dar True, já que 10 faz parte da lista. Já o segundo print vai dar False, já que 22 não é um elemento da lista.

index

Se um elemento faz parte da lista, dá para descobrir qual a posição dele na lista com a função index.

x = [5, 10, 15, 20, 25] print(x.index(5)) print(x.index(20))

O primeiro print desse código vai dar zero, que é a posição do número 5 na lista. Já o segundo print dá três, que é a posição (índice) do número 20 nessa lista.

Atenção: se tentar descobrir o índice de um elemento que não faz parte da lista ocorrerá um erro.

Desafio

1) Crie uma lista com algum dado dos membros da sua família (ex: peso, idade, altura, salário).

2) Calcule a média desses dados usando as funções sum() e len().

Ainda iremos aprender muito mais sobre listas, mas por enquanto é só. Até a próxima lição!
fim =)