Aulas do bloco

← Aulas

PythonAula 1508/09/20261h33

Listas, índices e laço `for`

Retoma repetição com while, contador com += e cálculo de média com somatório e round(). Até aqui guardar várias idades exigia uma variável por valor ou um texto único, sem manipular bem. Aqui destrava lista com [], índice começando em zero e len(), e o for como forma compacta de percorrer qualquer iterável.

O que foi falado

  1. Primitivos e estruturas de dados

    00:11:54

    Tipos básicos representam uma informação só, como texto, número inteiro, decimal, booleano e None. Estruturas de dados guardam várias informações juntas e trazem recursos para manipular, como lista, tupla, set e dicionário. Em Python tudo é objeto, mas no dia a dia os básicos ainda são chamados de primitivos.

  2. Por que variável por idade falha

    00:15:23

    Guardar cada idade numa variável diferente não deixa manipular o conjunto. Juntar tudo num texto único também não resolve, porque extrair cada idade exigiria fatiar pedaços e seria muito custoso. A saída é usar uma lista, que guarda vários valores numa variável só com começo e fim claros.

  3. Ordem da lista e índice em idades[0]

    00:30:26

    Uma lista é uma sequência onde a ordem importa, então trocar dois itens de lugar gera outra lista. Cada item tem uma posição chamada índice, e a contagem começa em zero, então o primeiro é idades[0] e o segundo é idades[1]. Numa lista com 10 elementos o último índice é 9, por isso o último sempre é idades[len(idades) - 1].

    Python
    idades = [19, 20, 18]
    print(idades[0])
    print(idades[len(idades) - 1])

    Saída

    19
    18
  4. Declarar lista com [] e ,

    00:35:11

    A aula declara listas entre colchetes, com elementos separados por vírgulas, como [19, 20] e ["Ana", "Beto"]. Uma sequência como (19, 20) é tupla; {19, 20} é set, enquanto {} representa um dicionário vazio. Os delimitadores permitem escrever os elementos em várias linhas.

    Python
    idades = [19, 20, 18, 25]
    nomes = ["Ana", "Beto"]
    print(idades)
    print(nomes)

    Saída

    [19, 20, 18, 25]
    ['Ana', 'Beto']
  5. Acessar com idades[i] e len()

    00:52:42

    Para ler um item se usa a variável mais colchetes com o índice, como idades[2] ou idades[7]. A função len() devolve o tamanho sem contar na mão, como len(idades). O último sempre é idades[len(idades) - 1] e tentar um índice que não existe, como idades[100], interrompe com IndexError.

    Python
    idades = [19, 20, 18]
    print(len(idades))
    print(idades[2])
    print(idades[len(idades) - 1])

    Saída

    3
    18
    18
  6. Média com while, += e round()

    01:09:37

    Para a média se usa um indice começando em zero e repete enquanto indice < len(idades). A cada volta soma a idade atual num somatorio que começou em zero usando somatorio += idade_atual. No fim divide o total por len(idades) e arredonda com round(media, 2) para arredondar para duas casas; a impressão numérica pode omitir zeros finais.

    Python
    idades = [19, 20, 18]
    somatorio = 0
    indice = 0
    while indice < len(idades):
        somatorio += idades[indice]
        indice += 1
    print(round(somatorio / len(idades), 2))

    Saída

    19.0
  7. Iterar com for em vez de while

    01:22:07

    O for percorre os elementos de um iterável, como lista, texto, tupla ou dicionário. Ele evita controlar um índice manualmente. A cada volta, atribui o próximo elemento à variável, como idade_atual. Depois de um laço que executou, essa variável continua disponível no mesmo escopo com o último valor atribuído.

    Python
    idades = [19, 20, 18]
    for idade_atual in idades:
        print(idade_atual)

    Saída

    19
    20
    18

Perguntas que valem a pena

Só [] cria lista? O que acontece se usar () ou {}?00:41:48

A aula usa colchetes para declarar listas, como [19, 20]. (19, 20) é uma tupla e {19, 20} é um set; {} é um dicionário vazio. As outras estruturas têm regras próprias.

Uma lista pode misturar tipos ou deve guardar só uma característica?00:44:51

Dá para misturar tipos, mas é má prática porque dificulta manipular. A recomendação é fazer lista só de números, só de textos ou só de booleanos.

Com mil índices, teria que pegar um por um?00:56:19

Não, dá para descobrir o tamanho da lista com a função len().

idades2 = idades cria uma lista nova ou aponta para a mesma?01:03:24

Aponta para a mesma lista, é tipo referenciado. Isso foi comprovado com id() igual para as duas variáveis.

Como funciona o somatório para calcular a média?01:17:20

O somatório começa em zero e a cada iteração soma a idade atual até o total. Depois divide por len(idades) para obter a média.

Onde idade_atual é declarada no for?01:31:04

O próprio for atribui cada elemento a idade_atual. Depois do laço, ela continua disponível no mesmo escopo se houve ao menos uma iteração.

Conceitos da aula

  • lista
  • elemento
  • ordem
  • índice começando em zero
  • len()
  • IndexError
  • while
  • for
  • iterável
  • somatório
  • +=
  • round()

Reforce este assunto

9 exercíciosComeçar →