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])

Acessar elementos de uma tupla em Python

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

 

Sobre Fábio dos Reis (1364 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*