Listas em Python – Como criar e manipular listas (sequências de valores)
Como criar listas em Python
Em Python, uma lista representa uma sequência ordenada de valores.
Características:
- Sequência de propósito geral
- Estrutura de dados mais usada em Python
- Aumenta e diminui de tamanho conforme a necessidade
- Suporta tipos diferentes de dados no mesmo objeto
- Objeto Ordenável
Como criar uma lista em Python
Criamos uma lista em Python atribuindo a uma variável uma sequência de valores, separados por vírgulas, dentro de colchetes, conforme mostra a sintaxe a seguir.
Sintaxe:
nomeLista = [v1, v2, v3]
Exemplo:
notas = [5,7,8,6,9]
Também é possível criar listas de listas (que podem representar matrizes):
valores = [ ['4', '9', '7'], ['2', '7', '2'], ['6', '3', '5'], ]
A vírgula após último elemento é opcional.
Podemos, opcionalmente, criar a lista de listas em uma única linha:
valores = [['4', '9', '7'], ['2', '7', '2'], ['6', '3', '5']]
Essa técnica deixa o código um pouco menos legível, por isso prefiro a forma anterior.
É possível criar uma lista vazia usando a função list():
notas = list()
Ou simplesmente atribuindo colchetes vazios ao nome de uma nova lista:
notas = [ ]
Concatenar listas
Podemos concatenar (unir) duas ou mais listas em Python usando o operador de concatenação +.
Exemplo:
l1 = [5,7,8,6,9] l2 = [7,12,3,0] lF = l1 + l2 print(lF)
Acessar os elementos de uma lista
Podemos acessar elementos individuais na lista usando colchetes [] e números de índice:
halogenios = ['F', 'Cl', 'Br', 'I', 'At'] print(halogenios[0])
Elementos no final da lista podem ser acessados usando índices negativos, começando em -1:
halogenios[-1] halogenios[-2]
Fatiamento de listas (slicing)
Podemos fatiar uma lista – acessar um grupo sequencial de elementos de uma vez:
valores[0:2] # retorna itens da primeira até a posição 2 - 1
Assim acessamos os elementos a partir do índice 0 até o índice 2, SEM incluir o elemento de índice 2.
Se o índice inicial não for informado, é assumido automaticamente como 0:
valores[:2]
Se o índice final não for informado, é assumido automaticamente como o final da lista:
valores[0:]
Os últimos dois elementos da lista:
valores[-2:]
Total de elementos retornados em uma operação de fatiamento: índice final – índice inicial
Assim, [2:5] retorna 3 elementos a partir da posição 2 (5 – 2 = 3).
Alterar valores em listas
As listas são objetos mutáveis, o que significa que seus valores armazenados podem ser alterados na própria lista.
Podemos modificar os valores em uma lista atribuindo a ela um valor específico ou uma fatia.
Exemplo:
print('Valor atual do item 0: {}'.format(valores[0])) valores[0] = 9 print('Novo valor do item 0: {}'.format(valores[0]))
Funções de manipulação de listas em Python
Função len(): Informa o comprimento de uma lista (ou outra sequência qualquer)
print(len(valores))
Função sorted(): retorna uma versão ordenada da lista (não modifica a lista em si)
print(sorted(valores))
print(sorted(valores, reverse=True)) # retorna lista ordenada em ordem decrescente
Retornar os elementos da lista em ordem inversa de suas posições:
print(valores[::-1])
Função sum(): retorna o somatório dos valores da lista:
print(sum(valores))
Funções min() e max(): retornam os valores mínimo e máximo da lista
print(min(valores)) print(max(valores))
Métodos para manipulação de listas em Python
Método append(): Modifica uma lista acrescentando um elemento ao seu final:
valores.append(12) print(valores)
Método pop(): Remove e retorna o último elemento de uma lista:
valores.pop() print(valores)
Método index(): Descobrir o número de índice de um elemento da lista:
print(valores.index(12)) # verifica a posição do valor 12 na lista
Associação de elementos: Podemos verificar se um valor está presente em uma lista com o operador in (retorna booleano):
print(12 in valores)
Exercício de Exemplo
Criar uma lista de números a partir de valores digitados pelo usuário, e então calcular sua média aritmética. Se o usuário pressionar a tecla ‘x’, o programa deve parar de pedir números e então exibir os resultados.
Solução:
lista_num = list() while True: item = input('Digite um número, x para sair:') if item == 'x': break lista_num.append(int(item)) media = sum(lista_num) / len(lista_num) print('Média aritmética: {}'.format(media)) print('\nNúmeros digitados: {}'.format(lista_num))
Iteração em listas
Podemos iterar sobre os elementos de uma lista usando um laço for:
planetas = ['Mercúrio', 'Marte', 'Saturno', 'Urano'] for planeta in planetas: print('Vamos viajar para', planeta) print('Boa viagem!')
É isso aí! Para saber mais sobre listas assista aos vídeos a seguir, do canal Bóson Treinamentos em Tecnologia:
Listas em Python 01: Criação, inserção e alteração de itens. Método append e outros:
Listas em Python 02: Métodos pop, remove, sort; funções len, map, etc.:
Veja também: Como verificar se uma lista está vazia em Python
Escreva um comentário