Em Python existem dois tipos de estruturas de dados: Seu viadinho
* Sequências: são objetos ordenados e finitos
* Dicionários é um conjunto de elementos de mapeamentos indexados por chaves.
As sequê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:
<pre>
>>> nome = 'leonardo'
>>> len(nome)
8
>>> nome.capitalize()
'Leonardo'
>>> nome.upper()
'LEONARDO'
>>> nome
'leonardo'
>>>
</pre>
== Dicionários ==
Dicionário é o outro tipo de sequência que associam objetos. São separados por vírgulas e delimitados por chaves e associados por dois-pontos.
<pre>
>>> 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']
</pre>
== Listas ==
As sequências mutáveis são as [[w:Lista|listas]]. Listas são elementos entre colchetes e separados por vírgula. Em outras linguagens chamadas de vetor.
<pre>
>>> 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]
>>> range(10, 13)
[10, 11, 12]
</pre>
=== Construção de listas ===
Existem várias formas de gerar listas de números. A mais simples é a função ''range'', que gera uma lista de zero a ''n-1'':
<pre>
>>> range(5)
[0, 1, 2, 3, 4]
>>>
</pre>
Para gerar uma lista que comece em um ponto arbitrário, passar este ponto como o início da lista:
<pre>
>>> range(10, 13)
[10, 11, 12]
>>>
</pre>
Caso o valor inicial seja maior ou igual ao valor final, a lista é vazia; listas decrescentes, ou listas que tenham um passo diferente de um podem ser geradas com um terceiro parâmetro:
<pre>
>>> range(5, 0)
[]
>>> range(10, 6, -2)
[10, 8]
>>>
</pre>
Uma forma curiosa de gerar estas listas é construir o objeto ''xrange''; na prática, fazer um loop com xrange ou com range dá o mesmo resultado; para mais detalhes, consulte o ''help'' (help(xrange)):
<pre>
for indice in xrange(1, 6):
print indice
</pre>
=== Operações com listas ===
Listas podem ser unidas, através de ''extend''. Como a lista é um objeto, usa-se a forma ''lista.extend(lista2)'':
<pre>
>>> lista1 = range(2)
>>> lista2 = range(2, 4)
>>> lista1.extend(lista2)
>>> lista1
[0, 1, 2, 3]
</pre>
Listas também podem ser replicadas, usando-se ''*''. Note que esta operação é comutativa:
<pre>
>>> [1, 2] * 3
[1, 2, 1, 2, 1, 2]
>>> 3 * [1, 2]
[1, 2, 1, 2, 1, 2]
>>>
</pre>
=== Pilhas ===
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.
<pre>
>>> 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
</pre>
'''Utilizando as listas como Filas:'''
{{AutoCat}}
Edição das 00h59min de 9 de abril de 2019
Usamos cookies em nosso site para fornecer a experiência mais relevante, lembrando suas preferências e visitas repetidas. Ao clicar em “Aceitar”, concorda com a utilização de TODOS os cookies.
Este site usa cookies para melhorar sua experiência enquanto você navega pelo site. Destes cookies, os cookies que são categorizados como necessários são armazenados no seu navegador, pois são essenciais para o funcionamento das funcionalidades básicas do site. Também usamos cookies de terceiros que nos ajudam a analisar e entender como você usa este site. Esses cookies serão armazenados em seu navegador apenas com o seu consentimento. Você também tem a opção de cancelar esses cookies. Porém, a desativação de alguns desses cookies pode afetar sua experiência de navegação.
Os cookies necessários são absolutamente essenciais para o funcionamento adequado do site. Esta categoria inclui apenas cookies que garantem funcionalidades básicas e recursos de segurança do site. Esses cookies não armazenam nenhuma informação pessoal.
Quaisquer cookies que possam não ser particularmente necessários para o funcionamento do site e sejam usados especificamente para coletar dados pessoais do usuário por meio de análises, anúncios e outros conteúdos incorporados são denominados cookies não necessários. É obrigatório obter o consentimento do usuário antes de executar esses cookies no seu site.