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 continuaremos o estudo das Listas em Python e veremos definições e tecnicas avançadas para a manipulação e construção de estruturas complexas com uso de conceito primitivo das listas.

LISTA DE OBJETOS

Estudamos nas aulas anteriores como definir uma lista em Python utilizando a notação implicita e explicita. Para recordamos ambos conceitos, analisemos o trecho de código a seguir.

#coding: utf-8

lista1 = [1,2,3, 'a'] #declaração implicita de lista
lista2 = list((1,2,3)) #declaração explicita de lista

Observe como definimos os elementos que foi atribuido para a referência lista2, isto é, enviamos 3 objetos numéricos e utilizamos 2 parenteis. O primeiro parêntesis é onde declaramos os parâmetros iniciais que podem ser enviados na definição de uma nova lista. O segundo parêntesis, é para dizer ao Python, que todos os 3 elementos devem ser adicionado a lista que estamos criando. Se o segundo parêntesis fosse omitido, estaríamos dizendo que cada objeto numérico é um parâmetro na inicialização de um objeto list.

Se é possível definir qualquer objeto como sendo um elemento de uma lista, podemos declarar listas que contém elementos que também são lista, como no código a seguir.

#coding: utf-8

l = [[], [], []]

Inicialmente, definimos uma lista de nome "l" e a esta atribuímos uma lista que contém 3 elementos do tipo lista, ou seja, temos lista contido dentro de outra lista.

Para que seja mais fácil o nosso estudo, vamos definir uma outra lista que contém listas internamente, porém agora, vamos atribuir itens para a lista interna, por exemplo:

#coding: utf-8

lista = [[1, 2, 3], ['a', 'b', 'c'], ]

Acima, nós definimos uma lista, de nome "lista" que contém dois elementos do tipo list. O primeiro elemento que é do tipo lista, nós temos 3 outros elementos definidos. Assim, temos que a referência "lista5" contém um elemento que é uma lista que contém outros 3 elementos.

Para nós acessarmos elementos contidos em listas, temos que utilizar uma notação especifica onde definimos o índice do elemento a ser acessado, como podemos ver no código seguinte.

#coding: utf-8

lista[0]

Se você executar esse código, perceberá que o elemento retornado também será uma lista, até porque, definimos uma Lista como sendo também, um elemento de outra Lista.

LISTAS CONTIDAS EM LISTAS

O acesso a elementos a listas contidas em outras, faz-se através da concatenação de pares de colchetes. Logo, quando mais aninhado tiver a lista, maior a concatenação de colchetes necessária. É importante destacar que cada par de colchete representa uma lista.

#coding: utf-8

lista[0][0]

Se executarmos o código acima, estaremos dizendo ao Python que queremos acessar o elemento 0 do objeto de nome "lista" e em seguida, queremos acessar um elemento de índice 0, do elemento que nos será retornado.

O PRIMEIRO E ÚLTIMO ELEMENTO

As linguagens geralmente definem que o primeiro elemento da lista tem índice 0, uma definição utilizada em linguagens antigas, decorrente de uma outra linguagem e a história vai longe.

Quando escuto alguém dizer que essa notação está errado, concordo totalmente, porém, discordo que o padrão seja hoje descontinuado! Fisicamente, nenhuma lista contém elementos que precedem o primeiro, ou seja, não existe nem nomenclatura para nos referirmos ao elemento 0. Então, mesmo que nao haja lógica, o fato é que essa notação se tornou um padrão e é adotado pelas principais linguagens de programação do mercado.

Por isso, hoje, é indiferente se o conceito é certo ou errado, até porque assim está definido e não crie esperanças de algum dia vê-lo alterado! Isso seria o maior caos para os sistemas legados.

Um padrão não usual é se referir ao último elemento da lista com índice igual a -1. Esse conceito é bastante lógico às listas onde o primeiro elemento possui índice 0. Assim, se imaginarmos uma lista como sendo um círculo fechado e o primeiro elemento é igual a 0, nada mais justo do que atribuir ao último elemento índice igual a -1.

E também, todos que já manipularam listas de forma primitiva, sabem que os elementos mais acessados na grande maioria das funcionalidades que devem ser implementas, manipulam o primeiro e o último elemento.

#coding: utf-8

lista[0] #acesso ao primeiro elemento

lista[-1] #acesso ao último elemento


Tags curso, python

Comentários

comments powered by Disqus