Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI MT).pdf

FilipeFerraz19 141 views 35 slides Oct 29, 2023
Slide 1
Slide 1 of 35
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35

About This Presentation

Aula do curso de programação em Python ministrado no SENAI-MT


Slide Content

Aula:
EstruturasdeDados
Curso de Programação em Python
Filipe Chagas Ferraz
Faculdade de Tecnologia SENAI Mato Grosso
28 10 2023

Conteúdo
1Listas
2Tuplas
3Conjuntos
4Dicionários
129

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.
229

Listas

Listas
A lista é uma estrutura de dados que agrupa objetos
sequencialmente.
Figura:Ilustração de uma estrutura de lista com 6 objetos do tipostr
(texto)
Cada item da lista é identificado por umíndice.
O primeiro item da lista tem índice 0
329

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 comprint.
Exemplo de código
l i s t a = [10 , 20 , 30 , 40]# l i s t a com 4 objetos i n t
print( l i s t a )#mostra a l i s t a no terminal
429

Exemplo de código – lista deint
l i s t a = [10 , 20 , 30 , 40]# l i s t a com 4 objetos i n t
print( l i s t a )#mostra a l i s t a no terminal
Exemplo de código – lista destr
# l i s t a com 3 objetos s t r
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 destreint
# l i s t a com 6 objetos s t r e i n t
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
529

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!
629

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 ’# s u b s t i t u i Joao por Matheus
print( l i s t a )#mostra a l i s t a modificada
729

Listas – iteração
É possível fazer uma iteração comforpara acessar cada objeto
da lista de duas formas diferentes:
Utilizando índices– umforé utilizado para iterar pelos
índices da lista, e os acessos ou modificações são feitos com
índices.
Sem utilizar índices– umforé utilizado para iterar pelos
itens da lista diretamente, sem usar índices.
829

Utilize a funçãolenpara 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

929

Listas – inserção de elementos
É possível inserir objetos na lista em tempo de execução
utilizando o métodoappend, 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
1029

Listas – remoção de elementos
É possível remover objetos da lista em tempo de execução
utilizando o operadordel, 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
dell 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
1129

Listas – fatias
É possível obter pedaços de uma lista utilizandoslicing, 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.
1229

Exemplo de código –slicing
l i s t a = [10 , 24 , 3 , 5 , 8 , 29 , 1 1 ] # c r i a 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
1329

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 ]# c r i a l i s t a
l i s t a _ r e v e r s a = l i s t a [ : :−1 ]
#mostra l i s t a de tras para frente
print( l i s t a _ r e v e r s a )
1429

Listas – ordenação
É possível ordenar uma lista de números com o métodosort.
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 ]# c r i a 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
1529

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 an-ésima casa inteira de
um número decimalx(unidade, dezena, centena):
xn=
j
x
10
n
k
(mod10)
Ex: parax=314, as casas sãox0=4,x1=1 ex2=3.
Em Python, esta fórmula fica comox_n = (x//10**n) % 10
1629

Tuplas

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’)
1729

Conjuntos

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
1829

Conjuntos – operadorin
É possível verificar se um valor está contido no conjunto com o
operadorin.
Exemplo de código
conjunto = { ’ F i l i p e ’ , ’ Carolina ’ , ’ Andre ’ }
nome =input( ’ D i g i t e um nome : ’ )
i fnomeinconjunto :
print( ’Nome esta no conjunto ’ )
else:
print( ’Nome nao esta no conjunto ’ )
1929

Conjuntos – inserção de elementos
É possível inserir objetos em um conjunto com o métodoadd.
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
2029

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
2129

Conjuntos – conversão de lista
É possível converter uma lista ou uma tupla em um conjunto
usando a palavraset. 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.
2229

Conjuntos – iteração
É possível iterar pelos valores de um conjunto utilizandofor.
Exemplo de código
conjunto = { ’ F i l i p e ’ , ’ Carolina ’ , ’ Andre ’ }
fornomeinconjunto :
print(nome)
2329

Dicionários

Dicionários
Dicionários, também chamados demapasem outras linguagens,
são estruturas que associam objetos a chaves, de modo que
cada objeto possa ser acessado com uma chave.
2429

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 S i l v a ’
}
Caso queira criar um dicionário vazio, utilizedict().
2529

Dicionários – acesso
Para acessar uma valor presente em um dicionário a partir de
uma chave, utilize a sintaxedicionario[<chave>].
Exemplo de código
pessoas = {
’ fernando . lima@gmail . com ’ : ’ Fernando Lima ’ ,
’ andre . abreu@gmail . com ’ : ’ Andre Abreu ’ ,
’ joao . silva@gmail . com ’ : ’ Joao S i l v a ’
}
nome = pessoas [ ’ joao . silva@gmail . com ’ ]
print(nome)
2629

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
sintaxedicionario[<chave>] = <valor> .
Exemplo de código
pessoas = {
’ fernando . lima@gmail . com ’ : ’ Fernando Lima ’ ,
’ andre . abreu@gmail . com ’ : ’ Andre Abreu ’ ,
’ joao . silva@gmail . com ’ : ’ Joao S i l v a ’
}
# modifica
pessoas [ ’ joao . silva@gmail . com ’ ] = ’ Joao da S i l v a ’
# adiciona
pessoas [ ’ matheus@gmail . com ’ ] = ’ Matheus ’
print( pessoas )
2729

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 S i l v a ’
}
#remove joao
delpessoas [ ’ joao . silva@gmail . com ’ ]
#mostra dicionario
print( pessoas )
2829

Dicionários – iteração
Para iterar pelas chaves de um dicionário, utilize o métodokeys.
Exemplo de código
pessoas = {
’ fernando . lima@gmail . com ’ : ’ Fernando Lima ’ ,
’ andre . abreu@gmail . com ’ : ’ Andre Abreu ’ ,
’ joao . silva@gmail . com ’ : ’ Joao S i l v a ’
}
# i t e r a por todas as chaves
forkinpessoas . keys ( ) :
print( ’ chave ’ , k )
print( ’ valor ’ , pessoas [ k ] )
29/29

Obrigado!