NOME DURAÇÃO
Curso de Python
Primeira Aula de Python
Como Instalar o Python no Windows
Características do Python
Recursos do Python
IDLE - Modo Interativo do Python
Instalando o PyCharm no Windows
Primeiro programa em Python
Comentários em Python
Indentação do código Python
Variáveis em Python
Características das Variáveis em Python
Nomenclatura das Variáveis em Python
Tipos de dados em Python
Variáveis do tipo Ponto Flutuante do Python
Entrada de Dados em Python
Operadores Aritméticos do Python
Módulo da Divisão em Python
Potenciação e Radiciação em Python
Operadores Relacionais do Python
Tomada de Decisão em Python
Estrutura if e else em Python
Depurando código Python
Operadores Relacionais Compostos do Python
Operadores Relacionais na Prática em Python
Operadores Lógicos em Python
Blocos de Instrução em Python
Blocos de Instrução em Python (Parte II)
Blocos de Instrução Python na Prática
Escopo de Nomes em Python
Estrutura de Atribuição Simples do Python
Atribuição Múltipla em Python
Operadores de Atribuição Compostos do Python
Atribuição Condicional em Python
Iteração em Python
Laços de Repetição do Python
Estrutura de repetição while em Python
A instrução for em Python
A função range() do Python
O for loop e a função range() do Python
Instrução break do Python
Instrução continue em Python
Estruturas de Dados Lista em Python
Lista, Pilha, Array, Set em Python
A classe list do Python
Classe list - Conceitos Avançados do Python
Funções da Classe list do Python
Iteração de Listas em Python
Fatiando Listas em Python
Incluindo, Alterando e Excluindo Elementos no Python
Ordenamento de Listas em Python
Quantidade de Itens em Python
Tuplas em Python
Operadores in e not in do Python
Operadores and, or e in do Python
Exemplo com Operador in em Python
Introdução às Strings em Python
Fatiando Strings com Python
Funções das Strings no Python
Comparação de Strings em Python
Iterando Strings em Python
Introdução aos Dicionários do Python
Dicionários na Prática com Python
Funções dos Dicionários no Python
Introdução às Funções em Python
Parâmetros de Função em Python
Parâmetros default em Python
Argumento de Função Nomeado vs Posicional em Python
Retornando Valores pelas Funções em Python

Nessa aula estudaremos a Estrutura de Dados list que a linguagem Python nos proporciona para a manipulação de listas de maneira geral.

A CLASSE list

A classe list possui as funcionalidades e propriedades primitivas e pertencentes a todas as listas.

Todas as vezes em que formos manipular listas, a primeira opção que teremos para organizar os elementos, será a estrutura list, e inclusive, somos capazes de declarar de forma primitiva, até porque, a linguagem Python adicionou a sua sintaxe uma notação para representar listas.

A NOTAÇÃO DE LISTA

Todos elementos que estiverem delimitados por um par de colchetes é para o Python uma lista, por exemplo:

#coding: utf-8

nums = [1, 2, 3, 4, 5]

No código acima, temos 5 números separados por vírgula e delimitado por colchetes e sendo atribuidos a uma referência de nome nums.

Esse código quando interpretado pela VM do Python, entenderá que nums receberá o valor da expressão a direita do operador de atribuição.

A expressão ao lado direito do sinal de atribuição, está envolvido, isto é, delimitado por colchetes, o de abertura [ e o de fechamento ]. Essa é a notação de listas, e os elementos pertencentes, será todo aquele contido entre os colchetes e separado por vírgula.

Assim, temos, que o objetos numéricos 1 2 3 4 5 serão interpretados separadamente, até porque, há uma vírgula entre eles e todos farão parte de uma lista que a VM do Python criará e vinculará o nome nums a referência dessa nova estrutura.

A DECLARAÇÃO EXPLICITA

Uma lista pode ser declarada explicitamente, bastando somente, a passagem de argumentos, na inicialização do objeto list. Cada argumento será interpretado como sendo um elemento único e então, será adicionado à estrutura list.

#coding: utf-8

l = list() #declaração explicita

nums = list(1,2,3,4,5) #declaração explicita com mesmo resultado do que o código anterior

No código acima, inicialmente, declaramos uma lista que contém 0 elementos e vinculamos a referência l a instância criada.

Em seguida, estamos declarando uma lista e para isso, utilizamos a classe list e enviando como parâmetro os elementos que devem pertencer a estrutura.

O TIPO DOS ELEMENTOS

Todo elemento contido numa lista é também um objeto. Como estudado, no Python, tudo são objetos. Logo, a lista é um objeto propriamente dito, da mesma forma que, cada elemento contido no objeto Lista, é também um objeto.

Podemos concluir facilmente, que se tudo são objetos em Python, e todo elemento contido numa lista é também um objeto, temos, que numa lista, podemos trabalhar com elementos cuja definição sejam as mais variadas, isto é, a classe utilizada para a criação do objeto é indiferente, este após criado, pode ser adicionado a qualquer lista.

No código a seguir, definiremos uma Lista que contém um conjunto de objetos Strings. Observe, que um objeto String é também uma lista, no caso, de caracteres!

#coding: utf-8

textos = ['valor1', 'textoX', 'str2', 'Digite um texto: ']

IDENTIFICAÇÃO DOS ELEMENTOS

Cada elemento contido num objeto list terá associado um número inteiro não negativo. Assim, o primeiro elemento adcionado, terá associado o número 0, o segundo elemento adicionado, terá associado o índice igual a 1, e assim por diante.

Das informações anteriores, podemos definir 2 propriedades pertencente as listas em Python. A primeira é que o primeiro elemento adicionado sempre terá o índice igual a 0, e o último elemento adicionado, terá índice igual a -1.

ACESSANDO ELEMENTOS

O acesso aos elementos contidos numa lista pode ser feito pelo uso da referência seguida por um par de colchetes e neste, o índice do elemento a ser acessado, por exemplo:

referência[ <índice> ]

No código a seguir, vamos definir uma lista, atribui-la a uma referência e então, acessar alguns elementos.

#coding: utf-8

letras = ['a', 'b', 'c', 'd', 'e']
letras[0] #acessa elemento cujo texto é igual a "a"
letras[2] #acessa elemento cujo texto é igual a "c"

letras[-1] #acessa elemento cujo texto é igual a "e"

No código acima, utilizamos a notação de acesso aos elementos contidos numa lista e assim, obtivemos como resultado do acesso, o retorno de um objeto tipo String contendo a correspondente letra.

Podemos por exemplo, manipular vários elementos numa única expressão.

#coding: utf-8

print(letras[0] + letras[1])

LISTAS E STRING

Toda String é por sua definição mais primitiva, uma lista de caracteres. Em Python, podemos inicializar uma lista e como parâmetro, enviar os caracteres que desejamos manipular individualmente como também, definir uma lista onde o conjunto de caracteres formam um único elemento. Por isso, a forma como declaramos cadeias de caracteres em Python, irá definir como esta cadeia será manipulada.

#coding: utf-8

l = list("eXcript")

Acima, temos que o primeiro elemento da lista é o caractere "e", o segundo elemento, o caractere "X", o terceiro elemento, o caractere "c" e assim sucessivamente.

A VM do Python definiu que cada caractere da String que enviamos como parâmetro na inicialização da lista era um elemento único e por conseguinte, deveria ter acesso individual bastando somente, definir o índice correspondente.

Se desejarmos inicializar uma lista e a esta atribuirmos um único elemento do tipo String, temos que proceder da seguinte maneira:

#coding: utf-8

nova_lista = lista(("eXcript"))

Logo, nós teremos uma lista que contém um único elemento do tipo String e estará armazenando a palavra eXcript.

O TIPO DOS ELEMENTOS

Estudamos listas contém só e somente só objetos, dessa forma, cada objeto pode ter sido criado através de uma classe diferente e assim, conter informações das mais diversas.

No código abaixo, estamos declarando uma variável e adicionando a esta uma lista que contém elementos de vários tipos.

#coding: utf-8

lista_mista = ["d", True, 1,2,3,4, "Testando o Python"]

No código acima, definimos inicialmente, uma variável de nome lista_mista e atribuimos a mesma uma lista contendo 7 elementos de tipos diferentes. O primeiro elemento é um caractere, o segundo é um valor lógico, o terceiro é um número e assim por diante.

Por fim concluimos que listas em Python não definem o tipo de seus elementos, como ocorre com os Array em linguagem como Java, C e C++. Assim, ainda que o funcionamento das lista em seja similar a um Array em C, C++, Pascal, numa lista só iremos ter objetos e por isso, o tipo do objeto é indiferente até porque, todo objeto, indiferente da sua declaração, descende de uma mesma estrutura implicita a linguagem.

VETORES E LISTAS

Alunos que estudaram linguagens como o C/C++, Java, Pascal as vezes imaginam o tipo lista como sendo um vetor, porém, conceitualmente, a única relação entre ambas estruturas é que as 2 contém um conjunto de elementos indexados.

1) Vetores possuem uma quantidade limitada de elementos
2) TODOS os elementos devem ser do mesmo tipo
3) Não permitem slice/fatiamento
4) Não possuem índices negativos,

NOTAÇÃO SUBSCRITA

A notação para acesso a elementos de uma lista é chamado no glossário do Python de notação subscrita, em Inglês subscript notation .

VEJA TAMBÉM



Tags curso, python

Comentários

comments powered by Disqus