Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Python Professor MSc. Heleno Cardoso Aula 07 Tipos de dados aglomerados: Listas, Registros e Tuplas Professor MSc. Heleno Cardoso Python – Tipo de Dados Aglomerados Um tipo aglomerado é um tipo abstrato de informação que é composto exclusivamente pela aglomeração de outros tipos abstratos, por exemplo, listas, registos e tuplas não nomeadas e tuplas nomeadas em Python. Python – TDados Aglomerados Listas Em Python, uma lista é representada como uma sequência de objetos separados por vírgula e dentro de colchetes [], cada valor na lista é identificado por um índice. Lista: Estrutura: nome da lista, elemento (conteúdo da lista) e índice (posição do elemento na lista). Python – TDados Aglomerados Listas Podem guardar dados de tipos diferentes (Métodos) – Pode ser criadas com ou sem elementos – Podemos adicionar elementos com append, insert – Podemos excluir elementos com pop ou remove – Podemos modificar um elemento da lista – Podemos imprimir (print) a lista – Podemos percorrer elementos da lista. Python – TDados Aglomerados Listas Exemplo Lista: umaLista = [1, 4, 8, 5, 7, 9] Imprimindo um único elemento: print(umaLista[2]) => 8 Seleciona tudo até o indicado com”:” Atenção: Exclui o último elemento. Ex.: print(umaLista[:3]) => 1, 4, 8 Python – TDados Aglomerados Listas Exemplo Lista: umaLista = [1, 4, 8, 5, 7, 9] Seleciona tudo até o indicado com”:” Atenção: Exclui o último elemento. Ex.: print(umaLista[1:3]) => 4, 8 Seleciona faixa, da posição informada até o fim com ”:” Ex.: print(umaLista[2:]) => 8, 5, 7, 9 Python – TDados Aglomerados Listas Exemplo Lista: umaLista = [1, 4, 8, 5, 7, 9] Seleciona faixa, “de tanto em tanto” com”::” Ex.: print(umaLista[::2]) => 1, 8, 5, 7 Seleciona faixa, da posição e inicial com ”:” Ex.: print(umaLista[1::3]) => 4, 7 Python – TDados Aglomerados Listas Exemplo Lista: umaLista = [1, 4, 8, 5, 7, 9] Apagar, uma faixa da lista com del Ex.: del umaLista[1..3]; print(umaLista) Apagar lista totalmente Ex.: del umaLista Python – TD Aglomerados Registros É uma forma de criar novos tipos de dados... Agrupando tipos diferentes de maneira organizada Struct (C, C++, Fortran, F# (F Sharp .NET) Class (Java, Python, etc) Forma realmente um “grupo de dados” – O tipo de grupo é nomeado – Na memória os dados ficam contíguos (≠ listas!) O tipo de grupo é nomeado – Na memória os dados ficam contíguos (≠ listas!) Exemplo: Aluno (Matricula int, Nome str, Media float) Aluno Matricula int Nome string Media float Python – TD Aglomerados Registros Registro (Exemplo: linguagem C) #include <iostream> using namespace std; struct Cliente { char nome[200]; char cpf[11]; float limite; int compras }; int main() { struct Cliente umCliente; strcpy(umCliente.nome, "Fulano"; strcpy(umCliente.cpf, "01234567890"; umCliente.limite = 5000.0; umCliente.compras = 0; } Python – TD Aglomerados Registros Registro (Exemplo: Python) import struct Cliente = ('200s 11s f I') umCliente = struct.pack(Cliente, b"Fulano", b"01234567890", 5000.00, 0) print(umCliente) print(struct.unpack(Cliente, umCliente)) Python – TD Aglomerados Registros Registos em Pyhton: sem nomes dos campos – Foco primário: trocar dados com C/C++ • Como guardar dados organizados em Python? – Forma mais conveniente... Tuplas nomeadas. Python – TDados Aglomerados Tuplas Agrupamentos de dados não nomeados – Existe em Python, F#... – É como definir um registro, porém imutável Em Python são dados separados por vírgulas – Mas usualmente indicamos parênteses Python – TDados Aglomerados Tuplas Exemplo1: umaTupla = (15, 9.4, “pera”) print(umaTupla) Python – TDados Aglomerados Tuplas Exemplo2: cliente = (“Julia Cardoso", "01234567890", 7000.0, 17) print (cliente) Nota: O acesso é como em lista (: e ::) Tupla, não podemos mudar um elemento! Python – TDados Aglomerados Tuplas cliente[1] = "1234“ # Tupla, error, não pode alterar. Apagando uma Tupla del Tupla Exemplo: del cliente Python – TDados Aglomerados Tuplas Tupla Nomeada Similar a struct em C. Os campos, porém, são imutáveis. from collections import namedtuple Cliente = namedtuple("Cliente", "nome, cpf limite compras“) umCliente = Cliente("Fulano", "01234567890", 5000.0, 0) print (umCliente) print(umCliente.cpf) Leitura Específica [1] Site: https://www.w3schools.com/python/python_variables.asp [2] Site: https://docs.python.org/pt-br/3/tutorial/ Aprenda+ [1] https://www.programiz.com/python-programming/variables-constants-literals [2] https://www.programiz.com/python-programming/examples/swap-variables - Tuplas Nomeadas [3] https://www.youtube.com/watch?v=IkoaXbLsUg8 Dinâmica/Atividades Exercícios de Fixação Desafios em Sala de Aula. Referências Bibliográficas [1] SEBESTA, Robert W. Conceitos de Linguagens de Programação. 11. edição. Porto Alegre: Bookman, 2018., Capítulo 1 (Preliminares). [2] BORGES, Luiz Eduardo. Python para desenvolvedores: aborda Python 3.3. Novatec Editora, 2014. [3] file:///F:/YduqsArea1/14%20WydenArea1Python/ARA0066_aula07%20Tuplas.pdf Programação Python Professor M.Sc. Heleno Cardoso
Compartilhar