Listas
Uma lista é uma sequência de valores onde cada valor é identificado por um índice iniciado por 0. São similares a strings (coleção de caracteres) exceto pelo fato de que os elementos de uma lista podem ser de qualquer tipo. A sintaxe é simples, listas são delimitadas por colchetes e seus elementos separados por vírgula:
lista1 = [1, 2, 3, 4]
lista1 [1, 2, 3, 4]
lista2 = [‘python’, ‘java’, ‘c#’]
lista2
[‘python’, ‘java’, ‘c#’]
O primeiro exemplo é uma lista com 4 inteiros, o segundo é uma lista contendo três strings.
Contudo, listas não precisam conter elementos de mesmo tipo. Podemos ter listas heterogêneas:
lista = [1, 2, ‘python’, 3.5, ‘java’]
lista
[1, 2, ‘python’, 3.5, ‘java’]
Nossa lista possui elementos do tipo int , float e str . Se queremos selecionar um elemento específico, utilizamos o operador [ ] passando a posição:
lista = [1, 2, 3, 4]
lista[0]
lista[1]
lista[2]
lista[3]
lista[4]
Traceback (most recent call last): File "<stdin>", line 1, in <module>
IndexError: list index out of range
Quando tentamos acessar a posição 4 fazendo lista[4] , aparece o erro IndexError , dizendo que a lista excedeu seu limite já que não há um quinto elemento (índice 4).
O Python permite passar valores negativos como índice que vai devolver o valor naquela posição de
forma reversa:
lista = [1, 2, 3, 4]
lista[-1]
lista[-2]
Também é possível usar a função list() para criar uma lista passando um tipo que pode ser iterável como uma string:
lista = list(‘python’)
lista
[‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]
Listas são muito úteis, por exemplo:
meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', ‘Outubro’, ‘Novembro’, ‘Dezembro’] n =
while(n < 4):
mes = int(input(“Escolha um mês (1-12): ”)) if 1 ⇐ mes < 13:
print(f'O mês é {} {meses[mes-1]}') n += 1E testamos:
Escolha um mês (1-12): 4 O mês é Abril
Escolha um mês (1-12): 11 O mês é Novembro
Escolha um mês (1-12): 6 O mês é Junho
Primeiro criamos um lista, relacionamos seus índices com os meses do ano, recuperamos seus valores através da entrada do usuário e imprimimos na tela o mês escolhido (mes[mes-1]) indexado a lista a partir do zero. Usamos um laço while que faz nosso programa entrar em loop e ser rodado 3 vezes.
Além de acessar um valor específico utilizando o índice, podemos acessar múltiplos valores através do fatiamento. Também utilizamos colchetes para o fatiamento. Suponha que queremos acessar os dois primeiros elementos de uma lista:
lista = [2, 3, 5, 7, 11]
lista[0:2] [2, 3]
Podemos ter o mesmo comportamento fazendo:
lista[:2] [2, 3]
Se queremos todos os valores excluindo os dois primeiros, fazemos:
lista[2:] [5, 7, 11]
Ou utilizamos índices negativos:
lista[-3:]
[5, 7, 11]
Também podemos fatiar uma lista de modo a pegar elementos em um intervalo específico:
lista[2:4] [5, 7]
As listas também possuem funcionalidades prontas, e podemos manipulá-las através de funções embutidas. As listas podem ser utilizadas em conjunto com uma função chamada append() , que adiciona um dado na lista:
lista = []
lista.append(‘zero’)
lista.append(‘um’)
lista [‘zero’, ‘um’]
A função append() só consegue inserir um elemento por vez. Se quisermos inserir mais elementos, podemos somar ou multiplicar listas, ou então utilizar a função extend() :
lista = [‘zero’, ‘um’]
lista.extend([‘dois’, ‘três’,])
lista += [‘quatro’, ‘cinco’]
lista + [‘seis’]
[‘zero’, ‘um’, ‘dois’, ‘três’, ‘quatro’, ‘cinco’, ‘seis’]
lista *
[‘zero’, ‘um’, ‘dois’, ‘três’, ‘quatro’, ‘cinco’, ‘seis’, ‘zero’, ‘um’, ‘dois’, ‘três’, ‘quatro’, ‘cinco’, ‘seis’]
Isso é possível pois listas são sequências mutáveis, ou seja, conseguimos adicionar, remover e modificar seus elementos. Para imprimir o conteúdo de uma lista, podemos utilizar o comando for :
for valor in lista:… print(valor)
…
zero um dois três quatro cinco