0% acharam este documento útil (0 voto)
2 visualizações25 páginas

Conceitos de Sequências em Python

Enviado por

Gustavo Palmeira
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações25 páginas

Conceitos de Sequências em Python

Enviado por

Gustavo Palmeira
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Módulo: Python

Aula 2
© Copyright 2018-2019 [Link] - All Rights
Tema da aula:
Aula 1 - Sequências

● Listas
● Tuplas
● Ranges
● Strings
● Converter sequências
● Operações com sequências
● Funções úteis para sequências

© Copyright 2018-2019 [Link] - All Rights Reserved


O que são sequências?

● Sequência é uma coleção ordenada de elementos, onde cada elemento é


identificado por um índice

● Sequências são estruturas de dados, maneiras de guardar e organizar


nossos dados dentro do programa

© Copyright 2018-2019 [Link] - All Rights Reserved


O que é lista?

● Uma sequência mutável de elementos, que pode conter valores de


diferentes tipos, como números, strings, outros objetos, etc

● Geralmente é usada para guardar vários valores do mesmo tipo, de forma


homogênea, mas isso não é uma regra

© Copyright 2018-2019 [Link] - All Rights Reserved


Como criar uma lista?

● Lista vazia: lista = []

● Lista com um elemento: lista = [1]

● Lista com alguns elementos: lista = [1, 2, 3, 4, 5]

● Listas com listas dentro: lista = [0, [0, 1], [0, 1, [2]]]

● Compreensão de lista → próximo slide

© Copyright 2018-2019 [Link] - All Rights Reserved


Compreensão de lista

● Sintaxe:

lista = [expressão for elemento in iterável if condição]

● Exemplos:

cubos = [x**3 for x in range(10)]


pares = [n for n in cubos if n%2 == 0]
lista_de_a = ['a' for _ in range(10)]
filtrado = [x for x in ['a', 2, 3, 5.6, [5]] if type(x) == int]

© Copyright 2018-2019 [Link] - All Rights Reserved


O que é tupla?

● uma sequência imutável de elementos, que é semelhante a uma lista,


mas não pode ser modificada depois de criada

● Geralmente é usada para guardar vários valores de tipos diferentes, ou


que não precisam ou não devem ser alterados, mas isso não é uma regra

© Copyright 2018-2019 [Link] - All Rights Reserved


Como criar uma tupla?

● Tupla vazia: tupla = ()

● Tupla com um elemento: tupla = (1,)

● Tupla com alguns elementos: tupla = (1, 2, 3, 4, 5)

● Tupla com tuplas dentro: tupla = (0, (0, 1), (0, 1, (2,)))

● Parênteses só são obrigatórios na tupla vazia e na tupla de um único


elemento

© Copyright 2018-2019 [Link] - All Rights Reserved


O que é range?

● Range é o que usamos na aula passada junto com o for para fazer
repetições no código

● Range é uma sequência imutável de números, que é definida com


range(), que pode receber valor de início, fim e passo

© Copyright 2018-2019 [Link] - All Rights Reserved


Strings são sequências

● Strings são sequências imutáveis de caracteres, como palavras ou frases

● O que aprendemos aqui também se aplica às strings do Python

© Copyright 2018-2019 [Link] - All Rights Reserved


Empacotamento e desempacotamento

● nome, idade, telefone, endereço = 'Jorge', 30,


'88245678', 'Rua Principal, 123'
● cliente = nome, idade, telefone, endereço
● nome, _, telefone, _ = cliente
● nome, *resto = cliente

© Copyright 2018-2019 [Link] - All Rights Reserved


Converter sequências

● tupla → lista: lista = list((1, 2, 3))


● range → lista: lista = list(range(0, 10))
● string → lista: lista = list('abacate')
● lista → tupla: tupla = tuple([3, 2, 1])
● range → tupla: tupla = tuple(range(1, 5))
● string → tupla: tupla = tuple('laranja')
● lista → string: string = ''.join(['m', 'a', 'ç', 'ã'])
● tupla → string: string = ''.join(('l', 'i', 'm', 'ã', 'o'))

© Copyright 2018-2019 [Link] - All Rights Reserved


Acessar sequências

● Primeiro elemento: elemento = lista[0]


● Terceiro elemento: lista[2] = elemento
● Último elemento: elemento = lista[-1]
● Penúltimo elemento: lista[-2] = elemento

© Copyright 2018-2019 [Link] - All Rights Reserved


Slicing (fatiamento)

● De elemento 2 a 4: lista1[2:5] = lista2


● De elemento -5 a -3: lista2 = lista1[-5:-2]
● Todos menos o último: lista2 = lista1[:-1]
● Do 3 em diante: lista1[3:] = lista2
● Elemento sim elemento não: lista2 = lista1[::2]
● Lista invertida: lista2 = lista1[-1::-1]
● Substituir uma parte no meio: string[1:-1] = 'hijk'

© Copyright 2018-2019 [Link] - All Rights Reserved


Outras operações com sequências

● Concatenar: [1, 2] + [3, 4, 5] → [1, 2, 3, 4, 5]


● Repetir: 'abc'*3 → 'abcabcabc' ; (0, 1)*2 → (0, 1, 0, 1)
● Presença: 'maçã' in ['mamão', 'caju', 'maçã'] → True
● Presença: 'maçã' not in ['mamão', 'caju', 'maçã'] → False

© Copyright 2018-2019 [Link] - All Rights Reserved


Funções para inserir e remover elementos

● Inserir:
No final: [Link]('morango')
No início: [Link](0, 'cacau')
Antes do elemento 2: [Link](2, 'abacaxi')
Colocar outra lista no final: [Link](['uva', 'cajá'])
● Remover:
Remover e retornar o índice 2: [Link](2)
Remover a primeira ocorrência: [Link]('uva')

© Copyright 2018-2019 [Link] - All Rights Reserved


Mais funções úteis para sequências

● Limpar: [Link]()
● Tamanho: len([1, 7, 8, 15, 2]) → 5
● Obter índice: [1, 7, 8, 15, 2].index(15) → 3
● Contar ocorrências: [2, 1, 1, 1, 4].count(1) → 3
● Somar todos os elementos: sum([10, 5, 15, 20]) → 50
● Obter menor valor: min([10, 5, 15, 20]) → 5
● Obter maior valor: max([10, 5, 15, 20]) → 20
● Inverter lista: [Link]()
● Obter lista invertida: lista2 = reversed(lista1)

© Copyright 2018-2019 [Link] - All Rights Reserved


Ordenar listas

● Em ordem ascendente:
lista = [8, 5, 14, 12]
[Link]() → [5, 8, 12, 14]
● Em ordem descendente:
lista = [8, 5, 14, 12]
[Link](reverse=True) → [14, 12, 8, 5]

© Copyright 2018-2019 [Link] - All Rights Reserved


Função split

● Em ordem ascendente:
print('O Nome do meu cachorro é Totó'.split())
→ ['O', 'Nome', 'do', 'meu', 'cachorro', 'é', 'Totó']
● Em ordem descendente:
print('Um macaco, uma águia, um peixe'.split(','))
→ ['Um macaco', ' uma águia', ' um peixe']

© Copyright 2018-2019 [Link] - All Rights Reserved


Loops for mais complexos

● No lugar de range você pode usar uma sequência


● Você pode colocar loops uns dentro dos outros
● Você pode usar for elemento in lista, ou usar range e len

lista = [[0, 1, 2], [4, 5, 6], [7, 8, 9]] lista = ['Ombro', 'Joelho', 'Costas']
soma = 0 for i in range(len(lista)):
for mini_lista in lista: print(lista[i])
for numero in mini_lista:
soma += numero
print(soma)

© Copyright 2018-2019 [Link] - All Rights Reserved


Desafio 1: Ordenação

● Crie um programa que tem uma lista desordenada no início em uma


variável e que ordena essa lista e imprime ela ordenada no final

● Use o código abaixo para gerar a lista desordenada:

from random import randint


lista = [randint(0,99) for _ in range(100)]

● Não use funções sort(), sorted(), min() ou max()

© Copyright 2018-2019 [Link] - All Rights Reserved


Desafio 2: Inserir em ordem

● Crie um programa que recebe números do usuário e vai colocando eles


em uma lista já na ordem correta

● No final, quando o usuário digitar o número zero, o programa acaba e


imprime a lista na tela

● Não use funções sort(), sorted(), min() ou max(), também não use uma
função de ordenar a lista feita por você no desafio 1, apenas insira no
lugar correto

© Copyright 2018-2019 [Link] - All Rights Reserved


Desafio 3: Recompor lista de texto

● Suponha que você recebe uma lista convertida em texto, nesse formato:

● "['O', 'Nome', 'do', 'meu', 'cachorro', 'é', 'Totó']"

● Construa um programa que recebe uma string do usuário, que contém


uma lista que foi impressa nesse formato

● Transforme esse texto de volta em uma lista do Python

● No final imprima a lista e o tipo da lista para comprovar que é mesmo uma
lista

© Copyright 2018-2019 [Link] - All Rights Reserved


Desafio 4: Cifra

● Suponha que você quer esconder um texto para que não saibam o seu
significado

● Você vai escrever um programa que recebe uma frase do usuário

● Seu programa vai inverter cada conjunto de quatro letras, para formar um
texto embaralhado, e então imprimir ele na tela, exemplo:

● Texto Inicial: 'O Nome do meu cachorro é Totó'


● Texto Final: 'oN Od emem oac urohcé ortoT ó'

© Copyright 2018-2019 [Link] - All Rights Reserved


71 3901 1052 | 71 9 9204 0134
@infi[Link]
[Link]fi[Link]
Salvador Shopping Business | Torre Europa Sala
310 Caminho das Árvores, Salvador - BA CEP:
40301-155
© Copyright 2018-2019 [Link] - All Rights

Você também pode gostar