Olá, estudante! Espero que esteja empolgado(a) para seguirmos com nossa jornada depois de aprender sobre os conceitos de método e funções, vistos na lição anterior! Prosseguindo com o aprendizado, nesta lição, nosso principal objetivo será explorar e compreender os conceitos fundamentais relacionados a coleções em Python, onde você verá listas, tuplas, conjuntos e dicionários.
As coleções são estruturas de dados essenciais que permitem armazenar e organizar informações de maneira eficiente. Sendo assim, abordaremos quatro tipos principais de coleções em Python: listas, tuplas, conjuntos e dicionários. Você compreenderá as características e aplicabilidades desses tipos e, também, como criar, acessar e manipular tais elementos.
Você compreenderá como os conjuntos podem ser usados para lidar com elementos exclusivos e realizar operações conjuntistas, além disso, dominará a criação, a manipulação de dicionários e a associação de valores e chaves e, principalmente, aplicará esses conceitos para resolver problemas do mundo real com Python. Ao final desta lição, você estará bem preparado(a) para aproveitar o poder das coleções em Python e usá-las efetivamente em projetos de programação no desenvolvimento de sistemas.
No dia a dia do desenvolvimento de software, muitos desafios e problemas surgem à medida que trabalhamos na construção de aplicativos e sistemas complexos. Uma das questões mais recorrentes é como armazenar, gerenciar e organizar dados de forma eficaz. É aqui que o uso de coleções em Python - como listas, tuplas, conjuntos e dicionários - desempenha um papel fundamental.
Por exemplo, com o aumento exponencial de dados não estruturados na era digital, a necessidade de armazenar informações de forma organizada torna-se crucial. As listas em Python, que podem conter uma variedade de tipos de dados e serem facilmente manipuladas, resolvem o problema de gerenciar dados em uma ordem específica. Seja uma lista de tarefas, seja uma lista de nomes de usuários ou qualquer outro conjunto de informações, as listas são a escolha perfeita para manter os dados organizados.
Em resumo, as coleções em Python são como as ferramentas em um kit de um desenvolvedor. Elas permitem que você, técnico(a) em desenvolvimento de sistemas, enfrente os desafios de gerenciamento de dados e organização, tornando a criação de software mais eficiente e menos propensa a erros. Ao entender quando e como usar listas, tuplas, conjuntos e dicionários, os desenvolvedores podem resolver uma ampla gama de problemas do mundo real e criar um software robusto e eficaz.
No case fictício de hoje, você conhecerá a Empresa XYZ, uma renomada fabricante de eletrônicos. Com o aumento constante na variedade de componentes eletrônicos usados em seus produtos, ela estava encontrando dificuldades em rastrear e gerenciar eficazmente o estoque. A equipe de desenvolvimento então foi encarregada de criar um Sistema de Gerenciamento de Inventário para otimizar esse processo. O desafio era lidar com a variedade de componentes eletrônicos e a necessidade de um sistema que pudesse lidar com uma enorme quantidade de dados. Além disso, eles precisavam rastrear as quantidades disponíveis de cada componente e atualizar automaticamente quando novas remessas de componentes chegavam.
Então, a equipe optou por usar a versatilidade das coleções em Python para resolver esse problema: as listas, por exemplo, foram utilizadas para armazenar os componentes eletrônicos em ordem, o que permitia uma busca fácil e ordenada. Já os dicionários foram usados para representar cada componente eletrônico, associando o nome do componente à sua quantidade disponível. Os conjuntos foram úteis para garantir que não houvesse componentes duplicados no inventário, e as tuplas, para armazenar informações que não deveriam ser alteradas, como o preço unitário de cada componente.
O sistema permitiu à Empresa XYZ otimizar significativamente seu processo de gerenciamento de estoque, pois reduziu o tempo gasto em tarefas manuais, evitando assim erros de registro de inventário. Essa implementação demonstrou como as coleções em Python podem ser uma solução poderosa às empresas que precisam lidar com grandes volumes de dados, tornando a gestão de informações mais eficaz e eficiente.
Coleções em Python se referem a estruturas de dados que permitem o armazenamento, a organização e manipulação de múltiplos valores, elementos ou objetos em uma única variável. As coleções são fundamentais para a programação, pois facilitam o gerenciamento de dados de maneira eficiente.
Como você já aprendeu nesta lição, existem quatro tipos principais de coleções em Python: listas, tuplas, conjuntos e dicionários. Veremos, com mais detalhes, cada um deles.
Uma lista em Python é uma coleção de elementos ordenada e mutável. Menezes (2017) afirma: listas são um tipo de variável que permite o armazenamento de vários valores, acessados por um índice. Ela é usada para armazenar múltiplos valores em uma única estrutura de dados.
São características de listas: ordenação, mutabilidade, heterogeneidade, acesso por índice, comprimento variável, iteração além de suas operações, como adicionar (append), inserir elementos (insert), remover elementos (remove ou pop), ordenar (sort), inverter a ordem (reverse), contar elementos (count), encontrar índices (index) e muito mais. Confira um exemplo de lista em Python na Figura 1:
Vamos entender melhor cada uma das linhas?
Linha 1: cria uma lista em Python.
Linha 3: adiciona o elemento 6 na lista.
Linha 5: insere o elemento 2.5 no índice 2.
Linha 7: remove o primeiro “2” encontrado na lista.
Linha 8: remove o elemento no índice 3 (valor 4) e o atribui a “removido”.
Linha 10: ordena a lista em ordem crescente.
Linha 11: ordena a lista em ordem decrescente.
Linha 12: inverte a ordem dos elementos.
Linha 14: conta quantas vezes o valor 2 aparece.
Linha 15: retorna o índice do valor 8.
Linha 17: cria uma cópia rasa da lista.
Linha 18: remove todos os elementos da lista.
Uma tupla em Python é uma coleção ordenada de elementos, semelhante a uma lista. Segundo Menezes (2017), tuplas podem ser vistas como listas em Python, com a diferença de serem imutáveis, o que significa que, uma vez criada, uma tupla não pode ser modificada.
As tuplas são definidas usando parênteses, como (item1, item2, item3). Suas principais características são: imutabilidade, ordenação, acessibilidade, heterogeneidade, iteração e compressão de dados. Conheça, na Figura 2, um exemplo de tupla simples:
Vamos entender melhor cada uma das linhas?
Linha 1: cria uma tupla em Python.
Linha 3: acessa elementos da tupla, primeiro elemento (1).
Linha 4: acessa elementos da tupla, segundo elemento (“Olá”).
Linha 6 e 7: itera sobre a tupla (percorre cada elemento da tupla, imprimindo seu valor na tela).
Embora as tuplas sejam imutáveis, você pode realizar operações como indexação, fatiamento e iteração para acessar e trabalhar com os elementos da tupla. Se precisa de uma coleção de elementos que não deve ser alterada, as tuplas são a escolha apropriada.
Os conjuntos em Python são uma coleção não ordenada de elementos únicos. Segundo Ramalho (2015), os conjuntos (sets) são um acréscimo relativamente novo na história de Python e, de certo modo, são subutilizados. Aqui está uma explicação mais detalhada da definição:
Não ordenada: os elementos em um conjunto não têm uma ordem específica. Isso significa que você não pode acessar os elementos de um conjunto por meio de índices, como faria com uma lista. A falta de ordenação é uma característica importante dos conjuntos.
Elementos únicos: em um conjunto, cada elemento é único, não pode haver duplicatas. Se você tentar adicionar o mesmo elemento mais de uma vez, ele ainda estará presente no conjunto apenas uma vez. Essa propriedade é útil quando você deseja criar uma coleção de valores exclusivos.
Os conjuntos em Python são uma estrutura de dados eficiente para testar a existência de um elemento em uma coleção, remover duplicatas de uma lista e realizar operações matemáticas de conjunto, como união, interseção e diferença. Para criar um conjunto em Python, você pode usar chaves {} ou a função set(). Observe a Figura 3:
Observe que as linhas 1 e 3 exemplificam a criação de um conjunto em Python.
Dicionários em Python são uma coleção não ordenada de pares chave-valor, que, segundo Menezes (2017), são similares às listas, mas com propriedades de acesso diferentes por possuírem um conjunto de chaves e valores. Aqui está uma explicação mais detalhada da definição:
Não ordenada: assim como os conjuntos, os dicionários não têm uma ordem específica para seus elementos. Eles não podem ser acessados por índices, como em listas ou tuplas. A falta de ordenação é uma característica fundamental dos dicionários.
Pares chave-valor: cada elemento em um dicionário consiste em dois componentes: uma chave e um valor associado. A chave é usada para identificar o elemento, enquanto o valor contém os dados associados àquela chave. Cada chave em um dicionário é única, o que significa que não pode haver duplicatas de chaves no mesmo dicionário.
Os dicionários são uma estrutura de dados extremamente versátil em Python e amplamente usados para mapear informações. As chaves são usadas como rótulos para recuperar rapidamente os valores associados, tornando os dicionários uma escolha eficiente em muitas tarefas de programação. Para criar um dicionário em Python, você usa chaves {} e separa cada par chave-valor com dois pontos, como na Figura 4:
Agora, conhecendo cada uma dessas coleções, é importante você saber que elas possuem características e aplicabilidade únicas, o que torna cada uma delas adequada para diferentes tipos de tarefas e cenários de aplicação. Veja uma comparação entre as características e aplicabilidades das coleções em Python, a seguir:
Características
Coleção ordenada e mutável de elementos.
Elementos acessados por índice.
Pode conter elementos duplicados.
Aplicabilidades
Útil quando você precisa de uma sequência de itens que pode ser alterada.
Perfeitas para armazenar coleções de dados heterogêneos.
Características
Coleção ordenada e imutável de elementos.
Elementos acessados por índice.
Pode conter elementos duplicados.
Aplicabilidades
Útil quando você precisa de uma sequência de itens que não deve ser modificada.
Excelente para representar coleções de dados que não devem ser alteradas.
Características
Coleção não ordenada de elementos únicos.
Não permite acesso por índice.
Não pode conter elementos duplicados.
Aplicabilidades
Útil quando você precisa armazenar um grupo de elementos únicos.
Ótimo para operações de conjuntos, como união, interseção e diferença.
Características
Coleção não ordenada de pares chave-valor.
Não permite acesso por índice.
As chaves são únicas.
Aplicabilidades
Útil quando você precisa mapear informações de maneira eficiente.
Excelente para estrutura dados em um formato de dicionário ou para configurar opções com rótulos claros.
A escolha entre listas, tuplas, conjuntos e dicionários depende das necessidades específicas do seu programa. Algumas diretrizes que você pode seguir: use listas quando precisar de uma coleção ordenada e mutável; use tuplas quando precisar de uma coleção ordenada e imutável; utilize conjuntos quando precisar de uma coleção não ordenada de elementos exclusivos e não se importar com a ordem; utilize dicionários quando precisar associar chaves a valores e acessar rapidamente informações usando as chaves.
O conhecimento de listas, tuplas, conjuntos e dicionários é essencial para o profissional técnico em desenvolvimento de sistemas porque, em sistemas de software, é necessário lidar com uma variedade de dados, e essas estruturas oferecem maneiras eficientes de armazenar e organizar esses dados. Além disso, cada uma delas possui características únicas que afetam o desempenho do sistema, como tempo de acesso e uso de memória.
Nesse sentido, saber escolher a estrutura de dados correta pode ter forte impacto no desempenho e na eficiência do sistema, sem contar que a compreensão dessas estruturas proporciona flexibilidade e versatilidade na resolução de problemas de desenvolvimento de sistemas. Diante de vários problemas envolvendo a manipulação e organização de dados, o que auxilia a superá-los é o conhecimento de listas, tuplas, conjuntos e dicionários, pois ele permite que os desenvolvedores resolvam esses problemas de forma eficaz.
Agora, é a hora de implementar o uso de listas, tuplas, conjuntos e dicionários em Python. Siga o passo a passo para a implementação:
Abra seu navegador web e acesse o site OnlineGDB, em https://www.onlinegdb.com.
Escolha a linguagem de programação que deseja usar. Selecione “Python” na lista suspensa.
No editor de código, você pode escrever o código Python conforme a Figura 5.
Saiba agora o que o código da Figura 5 realiza:
Linhas 1 e 2: criam uma lista e a exibem na tela.
Linhas 4 e 5: criam uma tupla e a exibem na tela.
Linhas 7 e 8: criam um conjunto e o exibem na tela.
Linhas 10 e 11: criam um dicionário e o exibem na tela.
Clique no botão “Run” para executar o código. Os resultados dos exemplos serão exibidos na janela de saída do OnlineGDB.
Sinta-se à vontade para experimentar e explorar mais com listas, tuplas, conjuntos e dicionários. Você pode adicionar, modificar ou remover elementos, a fim de entender melhor como essas coleções funcionam em Python. Desafie seus colegas e professores a implementar as funcionalidades vistas no case desta lição.
MENEZES, N. N. C. Introdução à Programação com Python: algoritmos e lógica de programação para iniciantes. 2. ed. São Paulo: Novatec, 2017.
RAMALHO, L. Python fluente: programação clara, concisa e eficiente. São Paulo: Novatec, 2015.