Lista Python: funções e aplicabilidade

Lista Python: funções e aplicabilidade

A lista Python armazena dados e objetos de maneiras diversas e oferece uma estrutura de dados linearmente organizada, onde cada dado possui uma função e é acessado por meio de um índice.

Assim, considera-se esse tipo de lista como uma estrutura comum, mas com acréscimos e funções específicas.

Existem duas razões para trabalhar com ela: Python é uma linguagem frequentemente utilizada e considerada uma das mais simples para iniciantes; além disso, o uso de listas é comum em qualquer tipo de desenvolvimento de software, tornando-se necessário conhecer todas as possibilidades.

Nesse artigo, você encontrará informações sobre a criação de listas em Python e outras aplicações possíveis.

Artigos relacionados:

Como criar uma lista Python?

Ordene uma coleção de valores e separe-os por vírgula, dentro de colchetes []. Veja os exemplos abaixo.

Exemplo de lista vazia:

lista_vazia = []
print(lista_vazia)  # Output: []

Adicionando elementos:

A lista Python contém diversos elementos, como números, nomes ou outras listas. Existe mais de uma forma de adicionar elementos às listas, mostraremos abaixo:

Por índice

frutas = []
frutas[0]="maçã"
frutas[1]="banana"

Dessa forma, você pode organizar cada elemento em uma posição escolhida por você e posteriormente chamá-los.

print(frutas)
['maçã', 'banana']

Nessa lista, maçã ocupa a posição 0 (primeira posição), e banana a segunda posição (1). Isso acontece porque, para os computadores, é necessário considerar 0 como a primeira posição, o que não acontece na matemática.

Método lista.append

lista = ['maçã', 'banana', 'laranja']
lista.append('morango')
print(lista)  # Saída: ['maçã', 'banana', 'laranja', 'morango']

No método append, cada elemento adicionado passa ao final da lista.

Acessando elementos da lista

Acesse os elementos de uma lista usando o índice, que começa em 0 para o primeiro elemento.

numeros = [1, 2, 3, 4, 5]
print(numeros[0])  # Output: 1 (primeiro elemento)
print(numeros[2])  # Output: 3 (terceiro elemento)
print(numeros[-1])  # Output: 5 (último elemento)

No primeiro exemplo, selecionamos o elemento na primeira posição. No terceiro exemplo, [-1] se refere ao último elemento da lista.

Modificando elementos da lista

numeros = [1, 2, 3, 4, 5]
numeros[2] = 10
print(numeros)  # Output: [1, 2, 10, 4, 5]

No exemplo, modificamos o número na terceira posição para 10.

Operações com listas

São vários métodos simples que organizam, multiplicam ou dividem as listas. Acompanhe:

Concatenação

lista1 = [1, 2, 3]
lista2 = [4, 5, 6]
lista_concatenada = lista1 + lista2
print(lista_concatenada)  # Saída: [1, 2, 3, 4, 5, 6]

Os elementos, como listas separadas que precisam ser unificadas, são incorporados.

Repetição

lista_repetida = lista1 * 3
print(lista_repetida)  # Saída: [1, 2, 3, 1, 2, 3, 1, 2, 3]

Repete os itens de uma lista e pode ser feito diversas vezes.

Verificação

if 2 in lista1:
    print("2 está na lista1")  # Saída: 2 está na lista1

É uma operação autoexplicativa. No exemplo, verificamos se o valor 2 está na lista.

Valores: mínimos, máximos e soma

# min(minha_lista)
# max(minha_lista)

minha_lista = [1, 2, 3]
min(minha_lista)
1
max(minha_lista)
3

Esse método serve para delimitar os valores na lista, sua usabilidade depende da aplicação em que se insere.

Percorrer lista

# for item in lista:
#     print(item)

minha_lista = [1, 2, 3]
for i in minha_lista:
    print(i)
>>> 1
>>> 2
>>> 3

Esse método

Métodos de lista Python: remoção e ordenação

Para remover elementos de uma lista, pode ser usado dois métodos: 'pop()' e 'remove()'.

‘pop()’

lista = [1, 2, 3, 4, 5]
elemento_removido = lista.pop(2)
print(elemento_removido)  # Saída: 3
print(lista)  # Saída: [1, 2, 4, 5]

ultimo_elemento = lista.pop()
print(ultimo_elemento)  # Saída: 5
print(lista)  # Saída: [1, 2, 4]

Remove o elemento de uma lista com base no seu índice e retorna o valor removido. Porém, se não tiver especificação de índice, por padrão, o último elemento da lista é removido. O método pop() pode ser usado para remover elementos de uma lista vazia, resultando em um erro IndexError.

‘remove()’

lista = [1, 2, 3, 2, 4, 5]
lista.remove(2)
print(lista)  # Saída: [1, 3, 2, 4, 5]

lista.remove(10)  # Isso resultará em um erro ValueError

Remove a primeira ocorrência de um determinado valor na lista. Ainda assim, diferente do pop(), o remove() não usa um índice para especificar qual elemento remover, mas, sim, o valor do elemento a ser removido. Portanto, se o valor não estiver presente na lista, ele resultará em um erro ValueError.

O primeiro retorna o elemento removido, permitindo que você o armazene em uma variável, se necessário. Porém, o segundo não retorna o elemento removido, apenas o remove da lista.

Inserindo vários itens na lista

Por outro, outra maneira de criar uma lista vazia é pelo método while + input. O primeiro (while) se trata de um laço de repetição, ou seja, uma estrutura do código que repete uma tarefa em cerca quantidade de vezes.

Por exemplo:

while atividade:
   atividade = input(Insira uma atividade: ')
   tarefas.append(atividade)
Insira uma atividade: Curtir o post
Insira uma atividade: Compartilhar com as redes sociais
Insira uma atividade: Ler outros artigos do Homehost
Insira uma atividade

Usando a estrutura for para percorrer os elementos:

for tarefa in tarefas:
   print(tarefa)
Curtir o post sobre lista em Python
Compartilhar com as redes sociais
Ler outros artigos do Homehost

Isso garante um print de todos os elementos e pode exibi-los visualmente.

Aplicabilidade da lista Python

Esse tipo de lista pode ser usada para qualquer tipo de aplicação, seja ela simples ou complexa. Assim, Python acaba sendo uma das linguagens mais usadas em aplicações diferentes, geralmente focada em análise de dados. Bem como toda linguagem de programação, ela também funciona melhor em campos específicos. Veja abaixo os exemplos.

1. Armazenamento e manipulação de coleções de dados

Ideais para armazenar e organizar coleções de dados, como uma lista de números, nomes, registros de informações, entre outros, assim, elas permitem acessar, adicionar, remover e modificar elementos de uma maneira eficiente.

2. Iteração e processamento de elementos

Facilitam a iteração por meio de seus elementos usando loops, como o for, permitindo que você execute operações em cada elemento, dessa forma, são especialmente úteis ao lidar com grandes conjuntos de dados.

3. Implementação de pilhas e filas

As listas podem ser usadas para implementar pilhas (stacks) juntamente com filas (queues), que são estruturas de dados importantes em algoritmos e programas. Por exemplo: ao adicionar elementos ao final da lista e removê-los do final usando o método pop(), você pode criar uma pilha. Para criar uma fila, você pode adicionar elementos ao final bem como removê-los do início usando o método pop(0).

4. Ordenação e classificação de dados

Elas possuem métodos embutidos que facilitam a ordenação de seus elementos. Por exemplo, o método sort() permite ordenar a lista em ordem crescente.

Dessa forma, é útil quando você precisa classificar dados em uma determinada ordem.

5. Manipulação de dados estruturados

As listas podem conter outros tipos de dados, como dicionários ou até mesmo outras listas, portanto, isso permite que você crie estruturas de dados complexas, como matrizes (listas de listas) ou listas de dicionários. Essas estruturas são úteis para representar dados estruturados.

6. Implementação de algoritmos e estruturas de dados avançadas

As listas desempenham um papel fundamental na implementação de algoritmos e estruturas de dados mais avançadas, como árvores, grafos e filas de prioridade. Os elementos dessas estruturas podem ser armazenados e manipulados utilizando listas como base.

Listas multidimensionais

Anteriormente, mencionamos o conceito de lista multidimensional ao falar sobre listas dentro de listas. Essas listas têm várias colunas e linhas, onde os dados se cruzam com objetivos específicos.

As listas multidimensionais são amplamente aplicadas em muitos casos, especialmente quando se busca organizar estratégias, itens, funções, dados e similares.

É comum observar o uso de listas multidimensionais em jogos e sistemas de gerenciamento, assim como demonstrado nos exemplos abaixo.

Aplicabilidade das listas multidimensionais

  1. Jogo da Forca: use uma matriz multidimensional para armazenar a palavra a ser adivinhada e o estado atual das letras reveladas e ocultas;
  2. Sistema de Gestão de Estoque: armazene as informações dos produtos em uma lista de listas, bem como nome, preço e quantidade em estoque;
  3. Sistema de Gerenciamento de Tarefas: utilize uma lista multidimensional para armazenar as tarefas, onde cada tarefa é uma lista contendo título, descrição, prazo, status, etc;
  4. Aplicativo de Agenda: guarde os compromissos em uma lista de listas, onde cada compromisso é uma lista com informações como data, hora, descrição, local, etc;
  5. Sistema de Reservas de Hotel: represente os quartos do hotel em uma matriz multidimensional, onde cada célula contém informações sobre a ocupação e os hóspedes;
  6. Processamento de Imagens: armazene os valores dos pixels de uma imagem em uma matriz bidimensional para permitir manipulações como filtro, redimensionamento, rotação, etc;
  7. Simulação de Ambientes: utilize uma matriz tridimensional para representar um ambiente em 3D, onde cada célula contém informações sobre os objetos presentes naquela posição;
  8. Sistema de Recomendação de Filmes: mantenha as informações dos filmes em uma lista de listas, incluindo título, gênero, diretor, elenco, avaliações dos usuários, etc.

Versão de código

Matriz de números inteiros

matriz = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]

Temos uma matriz 3×3 representada por uma lista de três listas. Você pode acessar elementos individuais da matriz utilizando índices duplos, como matriz[0][1] para acessar o valor 2.

Matrizes multidimensionais têm utilidade em muitos campos, como processamento de imagens, computação gráfica, simulações físicas, jogos, entre outros. Elas permitem representar dados em forma de grades ou tabelas, facilitando operações matemáticas e manipulações de dados estruturados.

Lista de alunos e suas notas

alunos = [["João", 8, 7, 6],
          ["Maria", 9, 9, 8],
          ["Pedro", 6, 7, 7]]

Acima, cada sublista representa um aluno, onde o primeiro elemento é o nome e os elementos seguintes são notas em diferentes disciplinas. Você pode acessar informações específicas de um aluno, por exemplo, alunos[1][2] retornaria a nota de Maria na segunda disciplina (9).

Você pode usar essa estrutura de lista multidimensional para armazenar dados tabulares, como registros de alunos, informações de funcionários, bem como resultados de pesquisas etc. Ela facilita a organização e manipulação de informações relacionadas.

Tabuleiro de jogo

tabuleiro = [["X", "O", " "],
             [" ", "X", "O"],
             ["O", " ", "X"]]

Aqui, temos um tabuleiro de jogo da velha representado por uma matriz 3×3. Cada célula contém um símbolo “X”, “O” ou espaço vazio. Você pode acessar e modificar elementos para atualizar o estado do jogo.

A utilização de listas multidimensionais com esse propósito permite que se verifiquem as regras do jogo, se apliquem estratégias e se interaja com os jogadores.

Outros métodos de lista Python

Método extend: prolonga a lista, adicionando os elementos do argumento iterable, passado como parâmetro. Exemplo:

lista1 = [1, 2, 3]
lista2 = [4, 5, 6]
lista1.extend(lista2)
print(lista1)  # Output: [1, 2, 3, 4, 5, 6]

Método index: retorna o índice base-zero do primeiro item na lista que tem um valor igual a x. Caso o valor não exista, o método gera uma exceção ValueError. Exemplo:

frutas = ['maçã', 'banana', 'laranja', 'maçã']
indice = frutas.index('laranja')
print(indice)  # Output: 2

Método count: retorna o número de vezes em que um elemento aparece na lista. Exemplo:

numeros = [1, 2, 3, 4, 4, 5, 4]
ocorrencias = numeros.count(4)
print(ocorrencias)  # Output: 3

Método sort: ordena os itens da lista. Exemplo:

numeros = [5, 2, 8, 1, 3]
numeros.sort()
print(numeros)  # Output: [1, 2, 3, 5, 8]

Método reverse: inverte a ordem dos elementos. Exemplo:

numeros = [1, 2, 3, 4, 5]
numeros.reverse()
print(numeros)  # Output: [5, 4, 3, 2, 1]

Método copy: retorna uma cópia rasa da lista. Exemplo:

lista1 = [1, 2, 3]
lista2 = lista1.copy()
print(lista2)  # Output: [1, 2, 3]

Método clear: remove todos os itens existentes na lista. Exemplo:

lista = [1, 2, 3, 4, 5]
lista.clear()
print(lista)  # Output: []

Exemplo de aplicações cotidianas que usam listas em Python

  • Trello: uma das áreas de trabalho mais usadas por qualquer empresa atualmente, permite organizar projetos e cartões em listas ordenadas.
  • Evernote: app de notas que permite criar listas de tarefas e organizar informações em listas estruturadas.
  • Spotify: usa listas de reprodução para permitir aos usuários criar e organizar suas próprias coleções musicais.
  • WhatsApp: exibe conversas em forma de lista, permitindo que os usuários visualizem e respondam às mensagens.
  • Google Keep: app de notas e lembretes que usa listas para ajudar os usuários a organizar tarefas, ideias e lembretes.
  • Amazon: utiliza listas para representar carrinhos de compras, listas de desejos e histórico de pedidos.
  • Google Calendar: permite agendar eventos e compromissos em uma lista ou exibição de calendário.
  • Contacts: gerenciamento de contatos em dispositivos móveis que usa listas para armazenar e organizar informações de contatos, como nomes, números de telefone e endereços de e-mail.

Contras de usar lista Python

Ainda que já tenhamos falado sobre os seus prós, como em toda linguagem de programação, programar e criar listas em Python tem seus contras. Leia abaixo sobre alguns deles.

Desempenho

Em comparação com estruturas de dados como arrays ou conjuntos, as listas podem desempenhar mal em algumas operações específicas. Isso acontece porque as listas em Python são implementadas como arrays dinâmicos, o que pode resultar em tempo de execução mais lento para coisas como inserção e remoção em posições intermediárias da lista.

Tamanho fixo x tamanho dinâmico

Em algumas situações, você pode precisar trabalhar com um tamanho fixo de dados, onde você conhece a composição e ela não muda. Nessas situações, um array pode ser mais eficiente e ocupar menos espaço em memória do que uma lista.

Busca eficiente

Se você precisa realizar buscas frequentes em uma lista grande, utilizar outras estruturas de dados, como dicionários ou conjuntos, pode ser mais eficiente. Essas estruturas oferecem um tempo de busca mais rápido em comparação com a busca linear em uma lista.

Imutabilidade

Em Python, as listas são mutáveis, permitindo a alteração, adição ou remoção de elementos. No entanto, em alguns cenários, é necessário lidar com dados imutáveis, onde os elementos não podem ser modificados após a criação. Nesses casos, as tuplas podem ser mais adequadas, pois não permitem alterações nos elementos após sua criação.

Uso de memória

As listas em Python podem consumir mais memória do que outras estruturas de dados, especialmente quando objetos complexos ou abundância de dados estão presentes nelas. Isso pode se tornar uma preocupação em sistemas com restrições de memória.

Conclusão

Em suma, qualquer tipo de aplicação se beneficia do uso de listas em Python. A manipulação, criação e modificação delas são simples e práticas, como demonstrado neste artigo. No entanto, é importante considerar a necessidade de seu uso, pois, em determinadas situações pode ser desnecessário.

Portanto, ao desenvolver sua aplicação, verifique inicialmente qual a linguagem mais adequada. Conforme mencionado anteriormente na seção de contras, é importante notar que o uso de listas em Python pode aumentar a carga de processamento e o tempo de espera para o tratamento dos dados necessários.

Lembrar que nenhum trabalho é irreversível é importante. Começar algo em Python não trará problemas com os quais você não pode lidar. Nosso conselho é evitar perda de tempo e contratempos. Na programação, tempo é realmente importante, e você pode poupá-lo com planejamento e estudo constante.

Este artigo foi útil?

Obrigado pela resposta!
Daiana S

Daiana S

Graduada em Letras pelo Instituto Federal da Paraíba e especializada em redação geral. Gosto de escrever sobre tudo e me dedico em vários níveis de expressividade. No geral, todos os meus hobbies giram em torno de escrever alguma coisa e fazer isso bem.

Contato: daiana.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!