Como modificar listas


Material de apoio para a disciplina Linguagem de Programação da UACSA/UFRPE

Produzido pelo prof. João Pimentel

Dica!

Refaça exercícios antigos, para não esquecer como resolvê-los.


Veja o vídeo a seguir, que explica como criar, usar e modificar listas no Python.


Vídeo 1 (13min):

Para revisar como se faz para criar uma lista, e também para aprender a usar as funções sum, len e sort, volte para a primeira lição desta semana.

Qual o resultado de
x = [5, 10, 15, 20, 25] print(x[1])

Precisamos lembrar que os índices (posições) da lista são contados a partir do ZERO. Então na lista [5, 10, 15, 20, 25], que tem 5 elementos:

  • O 5 está na posição ZERO
  • O 10 está na posição UM
  • O 15 está na posição DOIS
  • O 20 está na posição TRÊS
  • O 25 está na posição QUATRO

Sendo assim,

x = [5, 10, 15, 20, 25] print(x[1])
vai imprimir na tela o elemento que está na posição 1 da lista - ou seja, o número 10

Qual o resultado?
x = [10, 0, 2] print(x[0])
Qual o resultado?
x = ['a', 'x', 5, '2', 'maria'] print(x[4])
Qual o resultado?
x=['paul','lennon','george','ringo'] print(x[1])
Qual o resultado?
x=['paul','lennon','george','ringo'] print(x[4])

Precisamos lembrar que os índices (posições) da lista são contados a partir do ZERO. Então na lista ['paul','lennon','george','ringo'] , que tem 4 elementos:

  • na posição ZERO tem 'paul'
  • na posição UM tem 'lennon'
  • na posição DOIS tem 'george'
  • na posição TRÊS tem 'ringo'
  • na posição QUATRO tem... nada

Por isso que

x=['paul','lennon','george','ringo'] print(x[4])
dá erro; pedimos o elemento na posição 4 da lista, mas não existe elemento nessa posição.

Qual o resultado?
x = [5, 2, 10, 4, 2] print(x[1])
Qual o resultado?
x = [5, 2, 10, 4, 7] print(x[1] + x[3])
Qual o resultado?
x = [5, 2, 10, 4, 7] print(x[1 + 3])

Olha como

x = [5, 2, 10, 4, 7] print(x[1] + x[3])
é diferente de
x = [5, 2, 10, 4, 7] print(x[1 + 3])

No primeiro, estamos somando x[1] com x[3], ou seja, 2 + 4, que dá 6.

No segundo estamos pegando o elemento na posição 1 + 3; ou seja, o elemento na posição 4, que é o número 7.

Se ligou? Bora fazer outro exemplo parecido.

Qual o resultado?
x = [5, 2, 10, 4, 2] print(x[2*3 - 2])

Estranho, né? A gente já viu que, quando vamos usar um elemento de uma lista, colocamos a posição do elemento entre colchetes. Então x[4] é o elemento na posição 4 da lista x.

Blz, mas e x[2*3 - 2] ?

Ué, o que está entre colchetes é a posição do elemento, então nesse código vamos pegar o elemento na posição 2*3 - 2 da lista x. E 2*3 - 2 dá 4. Então o resultado será o elemento na posição 4 da lista x.

x = [5, 2, 10, 4, 2] print(x[2*3 - 2])
Resultado: 2, que é o elemento na posição 4 da lista x.
COMO ADICIONAR ELEMENTOS

Imagine uma lista de alunos da turma. Quando alguém se matricula na turma, precisamos inserir a pessoa na lista.

Existem várias formas de se acrescentar elementos a uma lista. Vamos aprender a inserir com a função append.

A função append vai acrescentar um elemento no fim da lista, seguindo esse formato:

lista.append(elemento)

Exemplos:

x = [10, 5, 7] x.append(4)
x = ['a', 'g', 'f', 'z', 'k'] x.append('d')
Qual o resultado?
x = [5, 2] x.append(-2) print(x)
Qual o resultado?
x = [5, 2] x.append(0) x.append(3) x.append('oi') print(x)
COMO REMOVER ELEMENTOS

Imagine uma lista de filmes para assistir. Quando assistimos o filme, vamos removê-lo da lista.

Existem várias formas de remover elementos de uma lista. Vamos ver duas delas: com o pop() e com o remove()

A função "pop" apaga um elemento da lista, seguindo esse modelo:

lista.pop(posicao)

, onde posicao é a posição do elemento que queremos remover. Veja:

x = [10, 5, 7] x.pop(0)
remove o 10.

x = ['a', 'g', 'f', 'z', 'k'] x.pop(3)
apaga o 'z'.

A função "remove" apaga um elemento da lista, seguindo esse modelo:

lista.remove(elemento)

, onde elemento é de fato o elemento que queremos remover. Veja:

x = [10, 5, 7] x.remove(10)
remove o 10.

x = ['a', 'g', 'f', 'z', 'k'] x.remove('z')
apaga o 'z'.
Qual o resultado?
x = [5, 2, 3, 0] x.pop(0) print(x)
Qual o resultado?
x = [5, 2, 3, 0] x.remove(0) print(x)
Qual o resultado?
x = [5, 2, 3, 0] x.pop(0) x.pop(0) x.pop(0) x.pop(0) print(x)
Qual o resultado?
x = [5, 0, 2, 3, 0] x.remove(0) print(x)
fim =)