PythonTrilha · etapa 840 min
Listas: criação, operações e repetição
Vídeos desta etapa, na ordem do portal:
- Listas · 30 min
- Percorrendo uma lista · 10 min
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
Agrupar valores em uma lista
Vídeo 1 · 00:00:52Em 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.
Criar
Vídeo 1 · 00:04:08listacom[]: inteiros, strings, mista e vaziaLista é 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.numeros = [10, 20, 1, 2, 3] nomes = ["ana", "bia"] mista = [10, "ana", 2.5, True] vazia = [] print(vazia)Saída
[]
Vídeo 1 · 00:07:55print()delistamostra formato do códigoprint(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.
nomes = ["ana", "bia"] print(nomes)Saída
['ana', 'bia']
Indexar com
Vídeo 1 · 00:12:01[i]e fatiarlistaCada item é acessado por
lista[i], com 0 para o primeiro e-1para o último,-2para o penúltimo. Fatiamento comolista[0:3]devolve sublista com os três primeiros, sem incluir o índice de parada 3. Em lista de strings dá para encadear comonomes[0][0]para pegar a string e depois o caractere, por exemplo a inicial.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
Juntar com
Vídeo 1 · 00:19:04+, repetir com*, testar comine medir comlen()+ 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.
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
Percorrer
Vídeo 2 · 00:02:22listapor índice comrange(len())O último índice válido é
len(lista) - 1porque a contagem começa em 0. Por issorange(len(lista))gera exatamente os índices válidos, com início 0 padrão. Dentro doforuselista[i]para ler o valor, e imprimai + 1se quiser numerar a partir de 1.nomes = ["ana", "bia", "leo"] for i in range(len(nomes)): print(i, nomes[i])Saída
0 ana 1 bia 2 leo
Iteração direta com
Vídeo 2 · 00:05:59for nome in nomesQuando só precisa dos valores, use
for nome in nomessem passar pelo índice. É mais curto querange(len())e evita errar o índice. A convenção é variável no singular para o item e plural para a lista, comonomeemnomes.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
- Listas, índices e laço `for`Python · aula 15
- Repetição com while, break e continuePython · aula 14
- Strings, variáveis e concatenaçãoPython · aula 2