Nesta aula estudaremos as principais funções realizadas em lista, como por exemplo, inclusão, alteração e exclusão. Também estudaremos a exclusão de elemento em intervalos e funções que retornam e removem elementos automaticamente. |
INTRODUÇÃO
Nas aulas passadas estudamos diversos conceitos sobre as listas e também, aprendemos como trablhar com algumas funções. Nessa aula, nos dedicaremos, ao estudo das 3 principais funcionalidades que são a inclusão, alteração e exclusão de elememtos.
O código a seguir, deve ser utilizado como base em todos os exemplos desta aula. A cada novo título, deve-se recriar as listas para conseguir um resultado igual.
>>> A = ["a", "b", "c" ]
>>> B = ["d", "e", "f" ]
ADICIONANDO ELEMENTO
A função append(), do inglês, significa "anexar", logo, aqui no Python, essa função irá adicionar o elemento passado como argumento ao final da lista, por exemplo:
#coding: utf-8
>>> A.append("x")
>>> A
["a", "b", "c", "x"]
Como podemos ver, agora, o ELEMENTO "x" foi anexado a lista A.
FUNÇÃO insert()
A função insert(), como o nome sugere, faz a inserção de um elemento em nossa lista, porém, agora, nós vamos informar em qual posição o elemento será inserido. Ou seja, enquanto a função append() adiciona um elemento no final da lista, a função insert() adiciona um elemento no local em que nós especificarmos, por exemplo:
#coding: utf-8
>>> A.insert(0, "y")
>>> A
["y", "a", "b", "c"]
Como podemos observar, inserimos o caractere y como sendo o primeiro elemento da lista A com o uso da função insert().
A seguir, temos a assinatura da função insert().
insert( <índice>, <objeto> )
Como podemos ver, o primeiro argumento é o índice e o segundo, o objeto propriamento dito. Assim, o objeto será adicionado à lista na posição cujo índice seja igual ao informado e os elementos que estiverem após o novo elemento, terão seus índices alterados automaticamente.
ALTERAÇÃO DE ELEMENTO
A mesma notação utilizada para obtermos o elemento vinculado a determinado índice, pode ser utilizada, para alterarmos o elemento vinculado.
Inicialmente, é importante observar, que nos exemplos a seguir, não iremos alterar o caractere de um objeto, mas sim, iremos substitui-lo.
#coding: utf-8
>>> A[1] = "t"
>>> A
["a", "t", "c"]
No código acima, alteramos o objeto b pelo objeto t. Observe que ambos são objetos diferentes e assim, o que o Python fez internamente, é excluir o objeto b e adicionar em seu lugar, ou seja, com mesmo índice, um outro objeto.
EXCLUINDO ELEMENTO
Para excluirmos um elemento, temos uma função built-in isto é, uma função implementada na VM do Python. Assim, basta passarmos como parâmetro o objeto a ser excluído que a função se encarregará pelo restante, como temos no código a seguir.
#coding: utf-8
>>> del(A[1])
>>> A
["a", "c"]
Como podemos ver, passamos como parâmetro o elemento a[1] pela função del() que o elemento foi removido da lista, como também, o índice de cada elemento a frente do elemento excluído foi alterado automáticamente.
Desta forma, o elemento da lista A de índice igual a 2 era o objeto str c. Após excluírmos o elemento de índice igual a 1, o objeto que tinha índice igual a 2 passou a ter índice igual a 1, até porque, um elemento foi removido e o índice teve que ser reajustado, do contrário, teríamos que retornamos o elemento igual a 1 seria gerada uma exceção.
Com isso, temos que entender que os índices não são valores absolutos e não podem ser utilizados como um meio para representar elementos, até porque, se um elemento é excluído ou um elemento é inserido no meio da lista, todos elementos a frente, terão seus índices alterados.
EXCLUINDO TODOS OS ELEMENTO
A função clear() remove todos elementos da lista. A palavra Clear do Inglês, significa limpar, limpeza, logo, é essa a ação feita sobre uma lista que contém elementos.
No código a seguir, vamos criar uma lista cuja referência será C e os elementos será a junção dos elementos da lista A e B.
#coding: utf-8
>>> C = A + B
>>> C
['a','b','c','d','e','f']
>>> C.clear()
>>> C
[]
Como visto, inicialmente, criamos uma lista de nome C que contém os elementos de A e B e imprimimo-os na tela. Em seguida, invocamos a função clear() da lista C e mandamos imprimir os elementos na tela. Como pode ser visto, foi impresso somente um par de colchetes [], representando assim, uma lista vazia.
EXCLUIR ELEMENTOS NUM INTERVALO
Estudamos que a função built-in del() remove um elemento da lista. Porém, a mesma é capaz de muito mais, como por exemplo, realizar a exclusão de todos os elementos num determinado intervalo, por exemplo, se tivermos uma lista [1,2,3,4,5,6] e quisermos excluir todos elementos que esteja no intervalo de índice igual a 2 até o índice igual 4, passaríamos a ter a seguinte lista [1,2,5,6].
Também podemos excluir os elementos que estejam entre outros num intervalo especifico, por exemplo, vamos supor a lista [1,2,3,4,5,6]. Se precisarmos de uma lista contendo os elementos com 2 intervalos entre si, por exemplo, [1, 3, 5] bastaria utilizarmos a notação que já estudamos.
No código a seguir, será demonstrado um meio simples para você estudar o que estamos falando e ainda que a notação seja a mesma utilizada, a ideia que utilizaremos, talvez, seja novidade pra você.
#abaixo, definimos uma lista com 6 elementos e em seguida,
#utilizamos a notação que extrai elementos num intervalo
[1,2,3,4,5,6][2:4]
#abaixo, definimos uma lista com 6 elementos e em seguida,
#utilizamos a notação que define o passo [intervalo entre os elementos]
[1,2,3,4,5,6][::2]
Para estudarmos os conceitos de exclusão estudados, iremos criar novamente a lista C que é a junção das listas A e B e em seguida, aplicaremos o que estudamos.
#exclusão de elementos num intervalo
>>> C = A + B
>>> C[1,4]
['b', 'c', 'd']
>>> del(C[1:4])
>>> C
['a', 'e', 'f']
#exclusão de elementos que estejam entre intervalo
>>> C = A + B
>>> C[::2]
['a', 'c', 'e']
>>> del(C[::2])
>>> C
['b', 'd', 'f']
Como podemos ver nos 2 exemplos acima apresentados, toda e qualquer sublista passada como argumento para a funçao del() terá os elementos removidos da lista.
FUNÇÃO pop()
A função pop() retorna um elemento da lista e no mesmo instânte, remove-o. É muito comum termos listas que contenham elementos que precisam ser processados e após o processamento, estes podem devem ser excluidos para que não haja processamento duplicado. Para essa tarefa repetitiva, o Python trás implementado uma função que retorna determinado elemento e ao mesmo tempo, exclui-o.
Se nenhum argumento for passado pela função pop() a mesma retornará e removerá o último elemento da lista. Porém, se desejarmos um elemento em especifico, basta passarmos como parâmetro o índice e então, o mesmo será retornado e excluído da lista.
#coding: utf-8
>>> C = A + B
>>> C.pop()
'f'
>>> C
['a', 'b', 'c', 'd', 'e']
>>> C.pop()
'e'
>>> C
['a', 'b', 'c', 'd']
>>> C.pop()
'd'
>>> C
['a', 'b', 'c']
>>> C.pop(0)
'a'
>>> C
['b', 'c']
No código acima, criamos a lista C que contém os elementos de A e B e em seguida, invocamos a função pop(), um elemento foi impresso e em seguida, já verificamos a lista C e contatamos, que o elemento impresso com a função pop() não mais fazia parte da lista.
Como pode ser visto, quando não passamos o índice do elemento, o elemento excluido foi o último da lista. Dessa forma, removemos os elementos f, e, d. Feito isso, invocamos a função pop() novamente, porém, nessa quarta vez, passamos como parâmetro o número 0 e então, tivemos que o primeiro elemento da lista foi retornado e ao verificarmos a lista, o mesmo foi removido.
A função por padrão retorna e remove o último elemento, porém, é possível informar qual elemento desejamos que seja retornado e removido, caso assim desejarmos.
Tags curso, python
Comentários
comments powered by Disqus