Acrescentar e tirar itens
tray começa com rice e depois soup. append("bread") põe bread no fim. rice e soup ficam à frente, na mesma ordem. append não mete nada à frente.
print escreve o tray inteiro, parênteses retos incluídos. bread fica por último porque foi acrescentado por último.
tray = ["rice", "soup"]
tray.append("bread")
print(tray)
O ecrã mostra rice, soup e bread, com bread no fim. O tray tem agora três valores. O lugar novo é 2, e o valor que lá está é bread.
pop() tira o último valor. A chamada é esse valor, por isso pode escrevê-lo. O que fica já estava à frente. A ordem desses valores não muda.
tray = ["rice", "soup", "bread"]
last = tray.pop()
print(last)
print(tray)
O ecrã mostra bread e depois rice e soup. bread já não está no tray. last é bread porque pop() acabou de tirar exatamente isso.
Cada append acrescenta ao fim tal como ele está nesse momento. Comece com rice, acrescente soup e depois bread. A quantidade passa a 3, e o lugar 2 é bread.
tray = ["rice"]
tray.append("soup")
tray.append("bread")
print(len(tray))
print(tray[2])
O ecrã mostra 3 e depois bread. soup foi o fim por um momento, depois bread passou a ser o fim. len(tray) conta o que está lá depois dos dois acrescentos.
append alonga o fim. pop encurta-o pelo fim, e a chamada é o valor que saiu.
📊 Acrescentar ou tirar
| Ação | O que muda |
|---|---|
| append | um valor é acrescentado no fim |
| pop | o último valor sai, e a chamada é esse valor |
Dois enganos fáceis
append("bread") nunca põe bread à frente de rice. O fim é o único sítio onde se acrescenta. pop() num tray sem valores faz o programa parar, porque não há um último valor para tirar. Esse caso vazio não está acima.
A página seguinte muda um valor que já está na lista. Aqui só se acrescenta no fim e se tira o último valor.
Depois da mudança
- O que escreve o primeiro programa, do primeiro valor ao último?
- O que escreve print(last) no segundo programa?
- Depois desse pop, que valores continuam no tray?
- O que escreve o terceiro programa, primeiro e depois?
Acrescentado, depois tirado
append("bread") põe bread no fim de rice e soup, por isso o primeiro ecrã acaba em bread. pop() tira esse bread, print(last) escreve bread, e o tray volta a ser rice e depois soup. Dois append deixam a quantidade em 3, e o lugar 2 é bread. pop() num tray vazio faz o programa parar.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo