1 00:00:00,000 --> 00:00:04,000 Eu espero que você esteja percebendo que listas são muito poderosas. 2 00:00:04,000 --> 00:00:07,000 E que, usando mutação, tendo listas que contêm outras listas, 3 00:00:07,000 --> 00:00:10,000 ou qualquer outro tipo de dado que desejarmos, 4 00:00:10,000 --> 00:00:14,000 podemos contruir estruturas de dados bem complexas, e podemos fazer várias coisas interessantes. 5 00:00:14,000 --> 00:00:16,000 Eu vou introduzir mais uma operação sobre listas, 6 00:00:16,000 --> 00:00:20,000 que nos permitirá adicionar um novo elemento no final de uma lista. 7 00:00:20,000 --> 00:00:24,000 Já vimos que podemos usar listas para armazenar dados complexos, 8 00:00:24,000 --> 00:00:27,000 que elementos de uma lista podem ser de qualquer tipo que quisermos, inclusive outras listas, 9 00:00:27,000 --> 00:00:30,000 e vimos que podemos usar mutação para modificar o valor de uma lista, 10 00:00:30,000 --> 00:00:35,000 e que mutação é visível por meio de qualquer referencia para o mesmo objeto lista. 11 00:00:35,000 --> 00:00:39,000 Agora, eu vou introduzir mais algumas operações sobre listas. 12 00:00:39,000 --> 00:00:44,000 A primeira é append: append é similar a um procedimento, mas é um método, 13 00:00:44,000 --> 00:00:47,000 e por isso nós usamos append de modo semelhante ao que usamos find sobre strings -- 14 00:00:47,000 --> 00:00:52,000 nós temos primeiro uma lista, seguida de um ponto, seguido de append, 15 00:00:52,000 --> 00:00:55,000 e o que passamos como argumento é o elemento que queremos adicionar à lista. 16 00:00:55,000 --> 00:00:59,000 append irá adicionar um novo elemento ao final da lista. 17 00:00:59,000 --> 00:01:01,000 E o importante sobre append é que ele muda 18 00:01:01,000 --> 00:01:04,000 a lista sobre a qual ele é invocado. 19 00:01:04,000 --> 00:01:08,000 Ele não cria uma nova lista; ele muda a lista dada. 20 00:01:08,000 --> 00:01:12,000 Como um exemplo do uso de append, vamos supor que, ao invés de 21 00:01:12,000 --> 00:01:16,000 subrtituir "Curly" em stooges, queremos ter agora 4 patetas: 22 00:01:16,000 --> 00:01:19,000 vamos adicionar "Shemp" e manter os três outros como estão. 23 00:01:19,000 --> 00:01:24,000 Então, o que queremos fazer é adicionar "Shemp" no final da lista que já temos. 24 00:01:24,000 --> 00:01:28,000 Isso pode ser feito invocando append sobre stooges, 25 00:01:28,000 --> 00:01:31,000 passando como entrada a string "Shemp". 26 00:01:31,000 --> 00:01:35,000 Aqui está o que acontece depois da primeira atribuição: 27 00:01:35,000 --> 00:01:39,000 o nome stooges referencia uma lista contendo 3 elementos, 28 00:01:39,000 --> 00:01:41,000 "Moe", "Larry" e "Curly" 29 00:01:41,000 --> 00:01:46,000 e, quando invocamos append, ele modifica este objeto, 30 00:01:46,000 --> 00:01:48,000 adicionando um novo elemento a ele. 31 00:01:48,000 --> 00:01:54,000 Depois do append, a lista referenciada por stooges tem agora 4 elementos. 32 00:01:54,000 --> 00:01:56,000 Nós não criamos uma nova lista. 33 00:01:56,000 --> 00:01:59,000 Note que não existe uma atribuição do resultado de append -- 34 00:01:59,000 --> 00:02:03,000 o que fizemos foi modificar o valor referenciado por stooges, 35 00:02:03,000 --> 00:02:06,000 adicionando um novo elemento a ele.