Aulas do bloco

← Aulas

PythonTrilha · etapa 840 min

Listas: criação, operações e repetição

Vídeos desta etapa, na ordem do portal:

  1. Listas · 30 min
  2. Percorrendo uma lista · 10 min
Use o número do vídeo e o horário indicado como referência nos arquivos locais.

A aula 7 deixou for e while com range(), break e continue prontos, além de len() e índice com S[i] para percorrer valores. Esta aula introduz lista com [...] para agrupar vários valores quando a quantidade de entradas varia. Com isso destrava as mesmas operações das strings em listas e dois jeitos de repetir: por índice com range(len(lista)) e direto com for nome in nomes.

O que foi falado

  1. Agrupar valores em uma lista

    Vídeo 1 · 00:00:52

    Em vez de criar uma variável para cada entrada, uma lista agrupa vários valores em uma sequência. A quantidade de itens pode variar. A aula compara valores individuais, como 10 e True, com esse agrupamento; strings também são sequências e seus caracteres podem ser acessados, como nas etapas anteriores.

  2. Criar lista com []: inteiros, strings, mista e vazia

    Vídeo 1 · 00:04:08

    Lista é delimitada por [ e ] com itens separados por ,. Pode ser de inteiros como [10, 20, 1, 2, 3], de strings como ["ana", "bia"], mista como [10, "ana", 2.5, True] ou vazia como []. [] tem zero itens.

    Python
    numeros = [10, 20, 1, 2, 3]
    nomes = ["ana", "bia"]
    mista = [10, "ana", 2.5, True]
    vazia = []
    print(vazia)

    Saída

    []
  3. print() de lista mostra formato do código

    Vídeo 1 · 00:07:55

    print(lista) mostra a representação dos itens entre colchetes, separados por vírgulas. Strings simples como ana aparecem entre aspas simples nos exemplos. O Python pode escolher aspas duplas ou escapes quando necessário para representar o conteúdo; a escolha da aspa exibida não altera o valor armazenado.

    Python
    nomes = ["ana", "bia"]
    print(nomes)

    Saída

    ['ana', 'bia']
  4. Indexar com [i] e fatiar lista

    Vídeo 1 · 00:12:01

    Cada item é acessado por lista[i], com 0 para o primeiro e -1 para o último, -2 para o penúltimo. Fatiamento como lista[0:3] devolve sublista com os três primeiros, sem incluir o índice de parada 3. Em lista de strings dá para encadear como nomes[0][0] para pegar a string e depois o caractere, por exemplo a inicial.

    Python
    nomes = ["ana", "bia", "leo"]
    print(nomes[0])
    print(nomes[-1])
    print(nomes[0:2])
    print(nomes[0][0])

    Saída

    ana
    leo
    ['ana', 'bia']
    a
  5. Juntar com +, repetir com *, testar com in e medir com len()

    Vídeo 1 · 00:19:04

    + concatena listas em uma nova sequência, * repete seus itens e len() conta quantos itens há. in verifica se algum elemento é igual ao valor buscado. Ele não procura uma sequência de elementos adjacentes como o in de strings procura um trecho; uma lista aninhada, porém, pode ser encontrada se for um elemento da lista externa.

    Python
    a = [1, 2]
    b = ["ana", "bia"]
    print(a + b)
    print(a * 2)
    print(2 in a)
    print(len([]))

    Saída

    [1, 2, 'ana', 'bia']
    [1, 2, 1, 2]
    True
    0
  6. Percorrer lista por índice com range(len())

    Vídeo 2 · 00:02:22

    O último índice válido é len(lista) - 1 porque a contagem começa em 0. Por isso range(len(lista)) gera exatamente os índices válidos, com início 0 padrão. Dentro do for use lista[i] para ler o valor, e imprima i + 1 se quiser numerar a partir de 1.

    Python
    nomes = ["ana", "bia", "leo"]
    for i in range(len(nomes)):
        print(i, nomes[i])

    Saída

    0 ana
    1 bia
    2 leo
  7. Iteração direta com for nome in nomes

    Vídeo 2 · 00:05:59

    Quando só precisa dos valores, use for nome in nomes sem passar pelo índice. É mais curto que range(len()) e evita errar o índice. A convenção é variável no singular para o item e plural para a lista, como nome em nomes.

    Python
    nomes = ["ana", "bia", "leo"]
    for nome in nomes:
        print(nome)

    Saída

    ana
    bia
    leo

Conceitos da aula

  • lista
  • valores atômicos
  • lista vazia []
  • print()
  • indexação
  • fatiamento
  • concatenação
  • replicação
  • in
  • len()
  • range
  • for

Reforce este assunto

10 exercíciosComeçar →