O documento apresenta as principais estruturas de dados em Python: listas, tuplas, conjuntos e dicionários. Listas armazenam objetos sequencialmente e permitem acesso por índice. Tuplas são imutáveis como listas. Conjuntos armazenam objetos de forma não ordenada e sem repetições. Dicionários mapeiam chaves para valores.
Aprenda de forma bem objetiva as principais estruturas de dados disponíveis no Python: listas, tuplas, set, dicionário, pilha e fila. Conheça também primitivas de programação funcional como list comprehension, map, reduce, filter sorted entre outros.
Aprenda de forma bem objetiva as principais estruturas de dados disponíveis no Python: listas, tuplas, set, dicionário, pilha e fila. Conheça também primitivas de programação funcional como list comprehension, map, reduce, filter sorted entre outros.
Essa aula contem exemplos práticos de variados tipos de conjuntos de dados na linguagem Python. Ensinando quais as estruturas dos respectivos conjuntos de dados, métodos correspondentes de cada um.
Tipos de Dados em Python: Como Manipulamos Dados em Python?
Python, uma linguagem de programação de alto nível conhecida por sua simplicidade e legibilidade, oferece uma ampla gama de tipos de dados para manipulação eficaz de informações. Esses tipos de dados, fundamentais para qualquer programador Python, fornecem a estrutura necessária para lidar com diferentes tipos de informações, desde números até texto e estruturas mais complexas.
Um dos tipos de dados mais básicos em Python é o inteiro (int), que representa números inteiros positivos ou negativos sem parte fracionária. Em seguida, temos o tipo float, usado para números de ponto flutuante, ou seja, números com parte decimal. Ambos os tipos são essenciais para operações matemáticas simples ou complexas.
Para representar texto, Python oferece o tipo de dados string (str). As strings são sequências de caracteres, e Python oferece uma variedade de métodos para manipulá-las, como concatenação, fatiamento e formatação.
Além desses tipos básicos, Python também inclui tipos de dados compostos, como listas (list), tuplas (tuple) e dicionários (dict). Listas são coleções ordenadas de itens, enquanto tuplas são coleções imutáveis, e dicionários são estruturas de dados que mapeiam chaves a valores, permitindo o acesso eficiente aos dados por meio de uma chave.
Outros tipos de dados importantes em Python incluem conjuntos (set), que são coleções não ordenadas de itens exclusivos, e booleanos (bool), que representam os valores de verdadeiro ou falso e são fundamentais para estruturas de controle de fluxo, como declarações condicionais e loops.
Python também permite a criação de tipos de dados personalizados por meio de classes, o que proporciona flexibilidade adicional para modelar dados de acordo com as necessidades específicas de um projeto.
A manipulação de dados em Python envolve a aplicação de métodos e operadores específicos a cada tipo de dado, permitindo operações como adição, remoção, pesquisa e modificação de dados de maneira eficiente e intuitiva.
Em resumo, os tipos de dados em Python oferecem uma base sólida para a manipulação de informações, permitindo que os desenvolvedores criem programas poderosos e eficazes para uma ampla variedade de aplicações.
Essa aula contem exemplos práticos de variados tipos de conjuntos de dados na linguagem Python. Ensinando quais as estruturas dos respectivos conjuntos de dados, métodos correspondentes de cada um.
Tipos de Dados em Python: Como Manipulamos Dados em Python?
Python, uma linguagem de programação de alto nível conhecida por sua simplicidade e legibilidade, oferece uma ampla gama de tipos de dados para manipulação eficaz de informações. Esses tipos de dados, fundamentais para qualquer programador Python, fornecem a estrutura necessária para lidar com diferentes tipos de informações, desde números até texto e estruturas mais complexas.
Um dos tipos de dados mais básicos em Python é o inteiro (int), que representa números inteiros positivos ou negativos sem parte fracionária. Em seguida, temos o tipo float, usado para números de ponto flutuante, ou seja, números com parte decimal. Ambos os tipos são essenciais para operações matemáticas simples ou complexas.
Para representar texto, Python oferece o tipo de dados string (str). As strings são sequências de caracteres, e Python oferece uma variedade de métodos para manipulá-las, como concatenação, fatiamento e formatação.
Além desses tipos básicos, Python também inclui tipos de dados compostos, como listas (list), tuplas (tuple) e dicionários (dict). Listas são coleções ordenadas de itens, enquanto tuplas são coleções imutáveis, e dicionários são estruturas de dados que mapeiam chaves a valores, permitindo o acesso eficiente aos dados por meio de uma chave.
Outros tipos de dados importantes em Python incluem conjuntos (set), que são coleções não ordenadas de itens exclusivos, e booleanos (bool), que representam os valores de verdadeiro ou falso e são fundamentais para estruturas de controle de fluxo, como declarações condicionais e loops.
Python também permite a criação de tipos de dados personalizados por meio de classes, o que proporciona flexibilidade adicional para modelar dados de acordo com as necessidades específicas de um projeto.
A manipulação de dados em Python envolve a aplicação de métodos e operadores específicos a cada tipo de dado, permitindo operações como adição, remoção, pesquisa e modificação de dados de maneira eficiente e intuitiva.
Em resumo, os tipos de dados em Python oferecem uma base sólida para a manipulação de informações, permitindo que os desenvolvedores criem programas poderosos e eficazes para uma ampla variedade de aplicações.
3. Estruturas de Dados
Estruturas de dados são maneiras de agrupar e organizar dados
na memória do computador. Com estruturas de dados, é possível
acessar vários dados sem criar uma variável para cada dado.
Implementar estruturas de dados do zero é complexo, mas
felizmente a linguagem Python já possui implementações
nativas.
2 29
5. Listas
A lista é uma estrutura de dados que agrupa objetos
sequencialmente.
Figura: Ilustração de uma estrutura de lista com 6 objetos do tipo str
(texto)
Cada item da lista é identificado por um índice.
O primeiro item da lista tem índice 0
3 29
6. Listas – criação
Uma lista é definida em Python como uma sequência de
valores ou objetos entre colchetes.
A lista pode ser atribuída a uma variável, e então todos os
objetos da lista serão acessíveis por meio dessa única
variável.
É possível mostrar o conteúdo da lista com print.
Exemplo de código
l i s t a = [10 , 20 , 30 , 40] # l i s t a com 4 objetos int
print ( l i s t a ) #mostra a l i s t a no terminal
4 29
7. Exemplo de código – lista de int
l i s t a = [10 , 20 , 30 , 40] # l i s t a com 4 objetos int
print ( l i s t a ) #mostra a l i s t a no terminal
Exemplo de código – lista de str
# l i s t a com 3 objetos s tr
l i s t a = [ ’ F i l i p e ’ , ’ Joao ’ , ’ Ana ’ ]
print ( l i s t a ) #mostra a l i s t a no terminal
Exemplo de código – lista de str e int
# l i s t a com 6 objetos s tr e int
l i s t a = [ ’ F i l i p e ’ , 10 , ’ Joao ’ , 20 , ’ Ana ’ , 30]
print ( l i s t a ) #mostra a l i s t a no terminal
5 29
8. Listas – índices e acesso
Para acessar um item da lista, você deve digitar o nome da
variável seguido pelo índice do item entre colchetes, com a
seguinte sintaxe: <variável>[<índice>].
Exemplo de código
l i s t a = [ ’ F i l i p e ’ , ’ Joao ’ , ’ Ana ’ ]
print ( l i s t a [ 0 ] ) #escreve F i l i p e
print ( l i s t a [ 1 ] ) #escreve Joao
print ( l i s t a [ 2 ] ) #escreve Ana
Lembre-se sempre de que o primeiro índice é zero!
6 29
9. Listas – atribuições
É possível modificar o valor ou objeto condido em uma posição
da lista fazendo uma atribuição com a seguinte sintaxe:
<variável>[<índice>]=<valor>.
Exemplo de código
l i s t a = [ ’ F i l i p e ’ , ’ Joao ’ , ’ Ana ’ ]
print ( l i s t a ) #mostra a l i s t a
l i s t a [ 1 ] = ’ Matheus ’ # substitui Joao por Matheus
print ( l i s t a ) #mostra a l i s t a modificada
7 29
10. Listas – iteração
É possível fazer uma iteração com for para acessar cada objeto
da lista de duas formas diferentes:
Utilizando índices – um for é utilizado para iterar pelos
índices da lista, e os acessos ou modificações são feitos com
índices.
Sem utilizar índices – um for é utilizado para iterar pelos
itens da lista diretamente, sem usar índices.
8 29
11. Utilize a função len para obter o tamanho da lista.
Iteração com índice
l i s t a = [ ’ F i l i p e ’ , ’ Joao ’ , ’ Ana ]
for i in range ( len ( l i s t a ) ) :
print ( l i s t a [ i ] ) #mostra cada item da l i s t a
Iteração sem índice
l i s t a = [ ’ F i l i p e ’ , ’ Joao ’ , ’ Ana ]
for item in l i s t a :
print ( item ) #mostra cada item da l i s t a
9 29
12. Listas – inserção de elementos
É possível inserir objetos na lista em tempo de execução
utilizando o método append, com a seguinte sintaxe:
<variável>.append(<valor>)
Exemplo de código
l i s t a = [ ’ F i l i p e ’ , ’ Joao ’ , ’ Ana ’ ]
print ( l i s t a ) #Mostra a l i s t a
# Insere ’ Matheus ’ no f i n a l da l i s t a
l i s t a . append ( ’ Matheus ’ )
print ( l i s t a ) #Mostra a l i s t a modificada
10 29
13. Listas – remoção de elementos
É possível remover objetos da lista em tempo de execução
utilizando o operador del, com a seguinte sintaxe: del
<variável>[<índice>]
Exemplo de código
l i s t a = [ ’ F i l i p e ’ , ’ Joao ’ , ’ Ana ’ ]
print ( l i s t a ) #Mostra a l i s t a
del l i s t a [ 1 ] #Remove ’ Joao ’ da l i s t a
print ( l i s t a ) #Mostra a l i s t a modificada
11 29
14. Listas – fatias
É possível obter pedaços de uma lista utilizando slicing, com a
seguinte sintaxe:
Sintaxe
<variável>[<índice inicial> : <índice final> + 1]
onde:
<índice inicial> é o índice do item com o qual
deseja-se iniciar a fatia;
<índice final> é o índice do item com o qual deseja-se
terminar a fatia.
12 29
15. Exemplo de código – slicing
l i s t a = [10 , 24 , 3 , 5 , 8 , 29 , 1 1 ] # cria l i s t a
f a t i a = l i s t a [ 1 : 5 ] #obtem f a t i a do 24 ate o 8
print ( f a t i a ) #mostra a f a t i a
13 29
16. Listas – reversão
É possível obter uma lista “de trás para frente” com a seguinte
sintaxe: <variável>[::-1]
Exemplo de código
l i s t a = [10 , 24 , 3 , 5 , 8 , 29 , 1 1 ] # cria l i s t a
lista_reversa = l i s t a [ : : − 1 ]
#mostra l i s t a de tras para frente
print ( lista_reversa )
14 29
17. Listas – ordenação
É possível ordenar uma lista de números com o método sort.
Em ordem crescente: <variável>.sort()
Em ordem decrescente:
<variável>.sort(reverse=True)
Exemplo de código
l i s t a = [10 , 24 , 3 , 5 , 8 , 29 , 1 1 ] # cria l i s t a
l i s t a . sort ( ) #ordena l i s t a
print ( l i s t a ) #mostra l i s t a ordenada
15 29
18. Desfio – Número Palíndromo
Faça um programa em Python que diga se um número digitado
pelo usuário é palíndromo.
Dica
Utilize a seguinte fórmula para obter a n-ésima casa inteira de
um número decimal x (unidade, dezena, centena):
xn =
j x
10n
k
(mod 10)
Ex: para x = 314, as casas são x0 = 4, x1 = 1 e x2 = 3.
Em Python, esta fórmula fica como x_n = (x//10**n) % 10
16 29
20. Tuplas
Tupla é uma estrutura que, assim como a lista, arranja objetos
de forma sequencial. Porém, a tupla é imutável (não pode ser
modificada).
A sintaxe da tupla é semelhante à da lista, porém sem colchetes.
Exemplo de código
tupla = ’ F i l i p e ’ , ’ Chagas ’ , ’ Ferraz ’
print ( tupla [ 0 ] ) #escreve F i l i p e
print ( tupla [ 1 ] ) #escreve Chagas
print ( tupla [ 2 ] ) #escreve Ferraz
Também é válido utilizar parenteses ao invés de colchetes, como
no seguinte exemplo:
tupla = (’Filipe’, ’Chagas’, ’Ferraz’)
17 29
22. Conjuntos
Conjunto é uma estrutura que agrupa objetos de forma não
ordenada e sem repetições.
Não existem múltiplos valores iguais em um conjunto.
Não existe primeiro item, segundo item, terceiro, item, etc.
Não há ordem no conjunto!
A sintaxe do conjunto é semelhante à da lista, porém com chaves
ao invés de colchetes.
Exemplo de código
conjunto = { ’ F i l i p e ’ , ’ Chagas ’ , ’ Ferraz ’ }
print ( conjunto ) #mostra o conjunto
18 29
23. Conjuntos – operador in
É possível verificar se um valor está contido no conjunto com o
operador in.
Exemplo de código
conjunto = { ’ F i l i p e ’ , ’ Carolina ’ , ’ Andre ’ }
nome = input ( ’ Digite um nome: ’ )
i f nome in conjunto :
print ( ’Nome esta no conjunto ’ )
else :
print ( ’Nome nao esta no conjunto ’ )
19 29
24. Conjuntos – inserção de elementos
É possível inserir objetos em um conjunto com o método add.
Exemplo de código
conjunto = { ’ F i l i p e ’ , ’ Carolina ’ , ’ Andre ’ }
print ( conjunto ) #Mostra o conjunto
conjunto . add ( ’ Matheus ’ ) #adiciona Matheus
print ( conjunto ) #Mostra o conjunto modificado
20 29
25. Conjuntos – remoção de elementos
É possível remover objetos de um conjunto com o método
remove.
Exemplo de código
conjunto = { ’ F i l i p e ’ , ’ Carolina ’ , ’ Andre ’ }
print ( conjunto ) #Mostra o conjunto
conjunto . remove ( ’ F i l i p e ’ ) #remove F i l i p e
print ( conjunto ) #Mostra o conjunto modificado
21 29
26. Conjuntos – conversão de lista
É possível converter uma lista ou uma tupla em um conjunto
usando a palavra set. O conjunto oriundo da conversão terá os
mesmos valores que a lista, porém sem repetições e sem ordem.
Exemplo de código
l i s t a = [ 1 , 1 , 4 , 5 , 4 , 6 , 5 , 1 , 6]
conjunto = set ( l i s t a )
print ( conjunto ) #Mostra o conjunto obtido
Isto pode ser útil caso seja necessário remover dados repetidos
de uma lista.
22 29
27. Conjuntos – iteração
É possível iterar pelos valores de um conjunto utilizando for.
Exemplo de código
conjunto = { ’ F i l i p e ’ , ’ Carolina ’ , ’ Andre ’ }
for nome in conjunto :
print (nome)
23 29
29. Dicionários
Dicionários, também chamados de mapas em outras linguagens,
são estruturas que associam objetos a chaves, de modo que
cada objeto possa ser acessado com uma chave.
24 29
30. Dicionários – criação
Para criar um dicionário, utilize a sintaxe
{<chave1>:<valor1>,...,<chaveN>:<valorN>}.
Exemplo de código
pessoa = {
’ fernando . lima@gmail . com ’ : ’ Fernando Lima ’ ,
’ andre . abreu@gmail . com ’ : ’ Andre Abreu ’ ,
’ joao . silva@gmail . com ’ : ’ Joao Silva ’
}
Caso queira criar um dicionário vazio, utilize dict().
25 29
31. Dicionários – acesso
Para acessar uma valor presente em um dicionário a partir de
uma chave, utilize a sintaxe dicionario[<chave>].
Exemplo de código
pessoas = {
’ fernando . lima@gmail . com ’ : ’ Fernando Lima ’ ,
’ andre . abreu@gmail . com ’ : ’ Andre Abreu ’ ,
’ joao . silva@gmail . com ’ : ’ Joao Silva ’
}
nome = pessoas [ ’ joao . silva@gmail . com ’ ]
print (nome)
26 29
32. Dicionários – modificação
Para adicionar um valor com uma nova chave a um dicionário, ou
modificar um valor associado a uma chave já existente, utilize a
sintaxe dicionario[<chave>] = <valor>.
Exemplo de código
pessoas = {
’ fernando . lima@gmail . com ’ : ’ Fernando Lima ’ ,
’ andre . abreu@gmail . com ’ : ’ Andre Abreu ’ ,
’ joao . silva@gmail . com ’ : ’ Joao Silva ’
}
#modifica
pessoas [ ’ joao . silva@gmail . com ’ ] = ’ Joao da Silva ’
#adiciona
pessoas [ ’ matheus@gmail . com ’ ] = ’ Matheus ’
print ( pessoas )
27 29
33. Dicionários – remoção de elementos
Para remover uma chave e o respectivo valor, utilize a sintaxe
del dicionario[<chave>].
Exemplo de código
pessoas = {
’ fernando . lima@gmail . com ’ : ’ Fernando Lima ’ ,
’ andre . abreu@gmail . com ’ : ’ Andre Abreu ’ ,
’ joao . silva@gmail . com ’ : ’ Joao Silva ’
}
#remove joao
del pessoas [ ’ joao . silva@gmail . com ’ ]
#mostra dicionario
print ( pessoas )
28 29
34. Dicionários – iteração
Para iterar pelas chaves de um dicionário, utilize o método keys.
Exemplo de código
pessoas = {
’ fernando . lima@gmail . com ’ : ’ Fernando Lima ’ ,
’ andre . abreu@gmail . com ’ : ’ Andre Abreu ’ ,
’ joao . silva@gmail . com ’ : ’ Joao Silva ’
}
# iter a por todas as chaves
for k in pessoas . keys ( ) :
print ( ’ chave ’ , k )
print ( ’ valor ’ , pessoas [ k ] )
29 / 29