SlideShare uma empresa Scribd logo
Aula:
Estruturas de Dados
Curso de Programação em Python
Filipe Chagas Ferraz
Faculdade de Tecnologia SENAI Mato Grosso
28 10 2023
Conteúdo
1 Listas
2 Tuplas
3 Conjuntos
4 Dicionários
1 29
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
Listas
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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’)
17 29
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
18 29
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
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
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
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
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
Dicionários
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
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
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
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
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
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
Obrigado!

Mais conteúdo relacionado

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

Programando em python tuplas e strings
Programando em python   tuplas e stringsProgramando em python   tuplas e strings
Programando em python tuplas e stringssamuelthiago
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
Marco Mendes
 
Programando em python: conjuntos
Programando em python:   conjuntosProgramando em python:   conjuntos
Programando em python: conjuntos
IFRN -campus Ipanguaçu
 
Top0
Top0Top0
Top0
Top0Top0
Programando em python conjuntos
Programando em python   conjuntosProgramando em python   conjuntos
Programando em python conjuntossamuelthiago
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
Professor Samuel Ribeiro
 
python
pythonpython
Capítulo 4 listas.
Capítulo 4   listas.Capítulo 4   listas.
Tipos de Dados Avançados em Python: Estenda seu conhecimento!
Tipos de Dados Avançados em Python: Estenda seu conhecimento!Tipos de Dados Avançados em Python: Estenda seu conhecimento!
Tipos de Dados Avançados em Python: Estenda seu conhecimento!
Marcelo Fabiano N. de Oliveira
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdf
DionatasSantos2
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e stringsLeandro Barbosa
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
Diogo Gomes
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python Poli
Rodrigo Lira
 
Usar explicação 01
Usar explicação 01Usar explicação 01
Usar explicação 01
Ademar Trindade
 
Usar explicação 01
Usar explicação 01Usar explicação 01
Usar explicação 01
Ademar Trindade
 
Listas Estáticas Encadeadas usando linguagem C
Listas Estáticas Encadeadas usando linguagem CListas Estáticas Encadeadas usando linguagem C
Listas Estáticas Encadeadas usando linguagem C
MarcosEvandroCintra
 
Crivo de Eratóstenes - Por Rebeca Souza
Crivo de Eratóstenes - Por Rebeca SouzaCrivo de Eratóstenes - Por Rebeca Souza
Crivo de Eratóstenes - Por Rebeca Souza
rebecasouza
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
Emiliano Barbosa
 

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

Programando em python tuplas e strings
Programando em python   tuplas e stringsProgramando em python   tuplas e strings
Programando em python tuplas e strings
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
Programando em python: conjuntos
Programando em python:   conjuntosProgramando em python:   conjuntos
Programando em python: conjuntos
 
Top0
Top0Top0
Top0
 
Top0
Top0Top0
Top0
 
Programando em python conjuntos
Programando em python   conjuntosProgramando em python   conjuntos
Programando em python conjuntos
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
python
pythonpython
python
 
Capítulo 4 listas.
Capítulo 4   listas.Capítulo 4   listas.
Capítulo 4 listas.
 
Tipos de Dados Avançados em Python: Estenda seu conhecimento!
Tipos de Dados Avançados em Python: Estenda seu conhecimento!Tipos de Dados Avançados em Python: Estenda seu conhecimento!
Tipos de Dados Avançados em Python: Estenda seu conhecimento!
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdf
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e strings
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python Poli
 
Usar explicação 01
Usar explicação 01Usar explicação 01
Usar explicação 01
 
Usar explicação 01
Usar explicação 01Usar explicação 01
Usar explicação 01
 
Listas Estáticas Encadeadas usando linguagem C
Listas Estáticas Encadeadas usando linguagem CListas Estáticas Encadeadas usando linguagem C
Listas Estáticas Encadeadas usando linguagem C
 
Crivo de Eratóstenes - Por Rebeca Souza
Crivo de Eratóstenes - Por Rebeca SouzaCrivo de Eratóstenes - Por Rebeca Souza
Crivo de Eratóstenes - Por Rebeca Souza
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 

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

  • 1. Aula: Estruturas de Dados Curso de Programação em Python Filipe Chagas Ferraz Faculdade de Tecnologia SENAI Mato Grosso 28 10 2023
  • 2. Conteúdo 1 Listas 2 Tuplas 3 Conjuntos 4 Dicionários 1 29
  • 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