Lista , Tupla , Conjunto e Dicionário

comparativo

Veremos a seguir estruturas de dados nativas do Python: lista, tupla, conjunto e dicionário.

Compreenda as Diferenças Essenciais

Em Python, compreender as principais coleções de dados é essencial para desenvolver soluções eficientes.

1 – Lista

Para começar, as listas são estruturas dinâmicas que permitem armazenar elementos em uma ordem específica. Dessa forma, elas são ideais para situações onde a sequência dos dados precisa ser mantida. Além disso, as listas aceitam elementos duplicados, o que garante maior flexibilidade no gerenciamento das informações.

Lista

Tipo Características
List Cada elemento possi um indice iniciado em 0.
Após sua declaração podemos adicionar, remover ou modifica-lo.

Criando listas com Range

0 a 10

10 a 1

3 a 10

5 a 100 com saltos de 5 em 5

Acessando dados de uma Lista

Adicionando item a uma Lista

Sorteio

Sorteio de um número inteiro entre 1 e 60 com randint()

Sorteio de uma opção de uma lista

Embaralhar uma lista

Selecionando quatro amostras aleatórias sem reposição

Removendo dados de uma Lista

Estrutura Método Descrição
Lista remove() Remove pelo valor (primeira ocorrência).
Lista pop() Remove pelo índice e retorna o valor.
Lista del Remove pelo índice ou toda a lista.

 

comprimento

Comprimento (o número de itens) de um objeto com len( ).

2 – Tupla

As tuplas são semelhantes às listas, mas possuem uma diferença crucial: elas são imutáveis. Como resultado, os dados contidos em uma tupla não podem ser alterados após a sua criação. Assim, as tuplas são frequentemente utilizadas quando se deseja proteger a integridade das informações. Além disso, a imutabilidade também contribui para a eficiência do código, especialmente em operações que envolvem grandes volumes de dados.

tupla

 

Tipo Características
Tupla Cada elemento possi um indice iniciado em 0. Após sua declaração não podemos modifica-lo.

 

Atenção: Tupla tem a finalidade de ser uma constante, portanto, depois da declaração ela não pode ser alterada !

3 – Conjunto

Quando a necessidade envolve dados únicos, os conjuntos se destacam. Primeiramente, essa coleção não mantém uma ordem específica, mas elimina automaticamente os elementos duplicados. Portanto, os conjuntos são perfeitos para operações como união, interseção e diferença entre coleções. Apesar disso, eles não possuem índices, mas são altamente otimizados para buscas rápidas.

hortifruti

Tipo Características
Conjunto A ordem não é garantida.
Podemos adicionar ou remover elementos.
Cada elemento aprarece uma única vez.
Entre conjuntos podemos verificar a interseção, diferença e a união

Acessando dados de um Conjunto

Adicionando item a um Conjunto

Removendo itens de Conjunto

Estrutura Método Descrição
Conjunto remove() Remove o elemento; erro se não existir.
Conjunto discard() Remove o elemento; sem erro se não existir.
Conjunto pop() Remove um elemento arbitrário.

Subtração, união e interseção com Conjuntos

4 – Dicionário

Por fim, os dicionários oferecem uma forma de armazenar pares de chave e valor, permitindo acesso direto aos valores por meio das suas respectivas chaves. Por essa razão, os dicionários são indispensáveis quando se trabalha com dados estruturados. Além do mais, a flexibilidade para utilizar diferentes tipos de dados como chaves ou valores amplia ainda mais sua aplicabilidade em diversos contextos.

chave

No Dicionário cada elemento é um par chave: valor, onde a chave é única.
Você pode adicionar, remover ou modificar elementos.

Use um dicionário para acessar diretamente o valor por sua chave, evitando fazer For e While desnescessários.

Acessando dados de um Dicionário

Veja que no exemplo acima o VALOR do item do Dicionário é acessado com sua CHAVE “Maria”.
A chave deve ser única no Dicionário de dados.
Perceba que um dicionário não é adequado para a iteração com For e While, a ideia é o acesso direto pela chave.

Alterando item do Dicionário

Adicionando item a um Dicionário

Removendo item de um Dicionário

Estrutura Método Descrição
Dicionário pop() Remove pela chave e retorna o valor.
Dicionário del Remove pela chave ou todo o dicionário.
Dicionário clear() Remove todos os itens do dicionário.

 

Convertendo

Convertendo

Convertendo Lista em Conjunto
 

Perceba que, ao transformar em conjunto, os itens repetidos foram automaticamente descartados.

Isso acontece porque, por definição, conjuntos não permitem repetições em seus itens. Portanto, essa característica os torna ideais para eliminar duplicatas de forma eficiente.

Convertendo Conjunto em Lista

Observação:

Perceba que, no código anterior, ao usar um conjunto quando adicionávamos novos dados, conseguimos evitar a adição de elementos repetidos. No entanto, se não utilizarmos a função .lower() para transformar tudo em letras minúsculas, o conjunto interpretará que “abacate”, “Abacate” e “ABACATE” são diferentes, uma vez que Python é case-sensitive.

Em resumo, ao escolher entre listas, tuplas, conjuntos e dicionários, é essencial considerar as necessidades específicas do projeto. Dessa forma, a escolha adequada impactará diretamente a eficiência, a clareza e a manutenção do código. Assim, compreender as vantagens de cada coleção contribui para o desenvolvimento de soluções mais robustas e organizadas. Portanto, optar pela estrutura correta é fundamental para resolver problemas de forma eficiente em qualquer situação de programação.

Portanto, escolher a estrutura correta é essencial para resolver problemas de maneira eficiente e organizada em qualquer contexto de programação.

Dessa forma, hoje vimos o que são, suas principais características e além disso, aprendemos como tirar o melhor proveito de Lista, Tupla, Conjunto e Dicionário.

Ao final, trasformamos o conjunto em uma lista utilizando list( ).

Referências:

Links

Abaixo, disponibilizamos uma variedade de links úteis, organizados por assunto, para te auxiliar tanto em seus estudos quanto em atividades profissionais. 

Geral

Link Descrição Vídeo no YouTube Comentário
Documentação Python 3.13.1 Documentação em Português

Web com Python

Link Descrição Vídeo no YouTube Comentário
Flask Framework simples em Python. Trabalha com FrontEnd e BackEnd, mas não tem suporte a biblioteca de Objetos FrontEnd como no React. Suas rotas devem ser definidas manualmente. Vídeo Para o BackEnd funciona muito bem em uma pequena aplicação. Acredito que para micro serviços seja perfeito.
FastHTML Novo Framework Python que dá alternativa de criar sua biblioteca de componentes web inteiramente feito em python e promete ser tão rápido quanto o Next.js por renderizar apenas o objeto alterado. Vídeo Veja o post FastHTML onde crio um formulário de cadastro de pessoas, incluindo validação, mensagem flutuante e paginação.

Treinamento OnLine

Link Descrição
brython.info Treine onLine
colab.google Treine onLine e salve no seu OnDrive do Google

CSS

Link Descrição
developer.mozilla.org Documentação CSS
maujor.com Site referência em CSS
w3schools.com Exemplos CSS
 

Treinamento OnLine

Link Descrição
codepen.io Treine onLine
 

Teste OnLine

Link Descrição
jigsaw.w3.org Teste e valide seu CSS onLine. Se o seu css estiver nos padrões W3C você pode adicionar um celo de qualidade em sua página.

Imagens

Link Descrição
developer.mozila.org Documentação JavaScript
w3schools.com Exemplos JavaScript
 

Treinamento OnLine

Link Descrição
codepen.io Treine onLine

Imagens

Link Descrição
developer.mozila.org Referência HTML
w3schools.com Exemplos HTML
 

Treinamento OnLine

Link Descrição
codepen.io Treine onLine
 

Teste OnLine

Link Descrição
validator.w3.org Teste onLine da sua página
Link Descrição
colorhunt.co Exemplos de Paletas de cores

Link Descrição
pt.vecteezy.com Download de imagens
br.pinterest.com Grande base de dados de imagens inspiradoras
react-icons Icones facilmente adicionados em projeto React ou Next.js
symbl.cc Códigos HTML ou Unicode para Símbolos e Emoji
bing.com/images Gerador de Imagens da Microsoft
Feathericons Icones Feathericons
Google Fonts Icones Google Fonts
heroicons Icones heroicons
lucide Icones lucide
svgrepo Icones svgrepo
Link Descrição
w3.org Documentação oficial MathML pelo W3C
Equation Editor Edite sua equação matemática online
Explicação Simbolos Matemáticos Entenda o que significa cada simbolo matemático

Link Descrição
sitechecker.pro Encontre keyword de forma gratuíta
pagespeed.web Teste a velocidade de sua pagina com ferramenta do Google
Consultor AdSense IA especialista Google AdSense criado por youtuber Gustavo Freitas
search-console Melhore seu desempenho na Pesquisa Google
trends.google Saiba quais buscas estão em alta no Google atualmente
Site Kit Plugin WordPress que ajuda a administrar sua conta no Google AdSense.
Link Descrição
dados.gov.br/home DataSets de dados do mundo real do BigData do Governo Federal do Brasil.
kaggle.com Data Sets para estudo de aprendizado de máquina.
Link Descrição
Hadoop Apache Hadoop é um framework que permite o processamento distribuído de grandes conjuntos de dados em clusters de computadores usando modelos de programação simples.
Spark Apache Spark é um mecanismo multilinguagem para executar engenharia de dados, ciência de dados e aprendizado de máquina em máquinas de nó único ou clusters.

Bibliotecas Principais

Link Descrição
Introdução ao TensorFlow Estudo TensorFlow
Bibliotaca mais complexa para calculos numéricos distribuído com uso da GPU, criado pelo Google, suporta aplicações de alta escala.
Tutoriais do PyTorch Estudo PyTorch
Guia do Usuário scikit-learn 0.21.3 Estudo Scikit-Learn.
Recomendado na introdução ao Aprendizado de Máquina .
Scikit-Learn tem soluções em JavaScript possibilitando ser colocado no FrontEnd.
Introdução ao JAX Estudo JAX.
O JAX é uma biblioteca desenvolvida pelo Google para computação numérica de alta performance, projetada para acelerar pesquisas em machine learning e aprendizado profundo. Ela funciona como uma evolução do NumPy, permitindo que você escreva código familiar, mas com a capacidade de executá-lo em GPUs e TPUs com velocidade impressionante.
Keras Keras é uma API de aprendizado profundo de alto nível que facilita o treinamento de e execução de redes neurais. Keras roda com TensorFlow, Theno ou Microsoft Cognitive Toolkit.

Pré-requisitos

Link Descrição
Guia do usuário - Pandas Biblioteca Pandas
Guia do usuário -MatplotLib Biblioteca MatplotLib
Guia do usuário -Numpy Biblioteca Numpy
Documentação - Python Linguagem de programação Python

Outros

Link Descrição
Machine Learning - Wikipedia Machine Learning -Wikipedia.
Resumo Geral
GitHub -Aurélien Géron Exemplos do autor Aurélien Géron
Onde tirar dúvidas com o autor Aurélien Géron Local para tirar dúvidas com o autor Aurélien Géron
RECOMENDAÇÃO É recomendado ainda o estudo de : matemática avançada, cálculo, álgebra linear, probabilidade e estatística.

estrela do mar
Algoritmos de trajetoria
A* vs Dijkstra