Python/Conceitos básicos/Estrutura de dados
Voltar para a página inicial.
Em Python existem dois tipos de estruturas de dados:
- Seqüências: são objetos ordenados e finitos
- Dicionários é um conjunto de elementos de mapeamentos indexados por chaves.
As seqüências imutáveis são as strings e as tuplas, dois ou mais elementos de qualquer tipo dentro de parênteses e separados por vírgula.
Exemplo de sequência com strings:
>>> nome = 'leonardo' >>> len(nome) 8 >>> nome.capitalize() 'Leonardo' >>> nome.upper() 'LEONARDO' >>> nome 'leonardo' >>>
Dicionário é o outro tipo de seqüência que associam objetos. São separados por vírgulas e delimitados por chaves e associados por dois-pontos.
>>> dic = {1:'mar', 2:'oceano', 3:'rio'} >>> len(dic) 3 >>> dic.items() [(1, 'mar'), (2, 'oceano'), (3, 'rio')] >>> dic.keys() [1, 2, 3] >>> dic.values() ['mar', 'oceano', 'rio']
As seqüências mutáveis são as listas. Listas são elementos entre colchetes e separados por vírgula. Em outras linguagens chamadas de vetor.
>>> lista = [1,2,3] >>> lista2 = [3,4,5] >>> lista.extend(lista2) >>> lista [1, 2, 3, 3, 4, 5] >>> len(lista) 6 >>> lista.reverse() >>> lista [5, 4, 3, 3, 2, 1] >>> lista.sort() >>> lista [1, 2, 3, 3, 4, 5] >>>
Agora você deve estar se perguntando: "Sim, mas Python só oferece essas Estruturas de Dados?" Você pode não ter reparado, mas podemos utilizar as listas nativas do Python para trabalharmos com outras estruturas, como Pilhas, Filas, Árvores, Listas de Prioridades(Heaps), etc...
Utilizando as listas como Pilhas: Pilhas nada mais são do que listas em que a inserção e a remoção de elementos acontece na mesma extremidade.
>>> pilha = [10, 20, 30] >>> pilha.pop() 30 >>> pilha [10, 20] >>> pilha.append(50) >>> pilha [10, 20, 50] >>> pilha.append(100) >>> pilha.pop() 100 >>> pilha.pop() 50 >>> pilha [10, 20] >> len(pilha) 2
Utilizando as listas como Filas: