Bem vindo de volta.
Vamos continuar com as listas agora.
Até agora, os colchetes, já vimos antes, certo?
Nós os vimos quando trabalhamos com strings e, assim como, as listas de strings são bastante semelhantes, pois podemos usar o
fatiamento de listas.
Se você se lembra, com o fatiamento de strings, tínhamos coisas como hello e fomos capazes de atribuir em uma string, digamos uma
string variável, e poderíamos fazer uma string e então fatiar.
Então faça algo assim.
Onde tivemos o início, a parada e depois a etapa de forma que começamos o índice zero e terminamos no
índice dois.
E, em seguida, vá um por um, então o fatiamento de lista também está disponível para nós, então vamos tornar este carrinho
um pouco maior e você pode simplesmente deixar as coisas mais limpas formatando-o desta forma.
Tudo bem, então o que devemos adicionar ao nosso carrinho?
Também adicionaremos alguns brinquedos e, então, você sabe, a Amazon faz mantimentos agora.
Então, vamos adicionar algumas uvas deliciosas.
Incrível.
Agora, digamos que eu queira colocar todos os itens do carrinho enquanto simplesmente fazemos isso.
E nós temos nossa lista inteira, mas vamos usar alguma divisão de lista, digamos que eu quisesse pegar do primeiro item
para o segundo item se eu clicar em executar.
Recebo cadernos e óculos de sol.
Talvez eu queira ir até o fim, mas pule cada segundo.
Recebo cadernos e brinquedos.
Começamos zero.
Caminhamos para os brinquedos, damos um passo e terminamos.
Incrível.
E isso é algo que já vimos quando falamos com cordas.
OK, mas é aqui que fica interessante.
Lembre-se de como eu disse que as cordas são imutáveis.
Isso significa que não podemos mudá-los.
Direito.
E falamos sobre isso quando tínhamos uma string como hello, eu não poderia fazer gret zero igual a, digamos
Z.
Eu obteria um erro aqui.
I get SDR object não suporta atribuição de item.
É imutável.
Mas o interessante das listas é que elas são mutáveis.
Então, se eu mudar meu carrinho Amazon.
E diga isso, quer saber, eu realmente não quero cadernos, então vou pegar o primeiro
item, que é o caderno e em vez de eu, o que queremos?
Diremos que queremos um novo laptop.
É uma grande atualização.
Quando imprimo este carrinho da Amazon.
Olha só, posso mudar essa lista.
E não me deu um ar nesse sentido, as listas são imutáveis, nós simplesmente recolocamos na estante de livros de nossos
notebooks e eu digo, ei, mude para laptop, e eles nos deixam fazer isso.
OK, isso é incrível.
Mas vamos tentar algo aqui.
E se eu criar outra impressão aqui e no carrinho da Amazon, usarei o fatiamento de lista para dizer que quero o
item do índice de um até o índice de três.
Vamos rodar isso e ver o que acontece.
Tente adivinhar.
É isso que você esperava?
Vamos examinar este código quando chegarmos à linha dez, pegamos o carrinho da Amazon, que foi atualizado com o
laptop e eu pego o item um.
Dois, três, então são óculos de sol.
Aos brinquedos, então zero um dois, e então paramos no três.
Só para facilitar o entendimento, vamos começar do zero aqui.
Para que possamos ver que o laptop foi alterado.
E então aqui no segundo, na linha 11, imprimimos o carrinho da Amazon.
Mas espere um segundo, essa lista não mudou, e isso porque com o fracionamento da lista, estamos criando uma
nova lista, uma nova cópia dessa lista.
Então, aqui estamos criando uma lista inteiramente nova para que eu possa realmente atribuí-la a uma variável.
O novo carrinho será o carrinho da Amazon.
E vamos fazer a mesma coisa aqui.
E New Kaat é uma lista inteiramente nova por si só, eu poderia transformar um novo cartão, digamos zero em, digamos
chiclete.
E se eu imprimir isso.
Você vê que eu tenho duas novas listas separadas, mas uma lista é mutável porque posso alterar o que
quer que esteja no índice a qualquer momento que quiser, e toda vez que fazemos o fatiamento da lista, criamos uma nova cópia dessa lista.
Mas eu tenho uma pergunta complicada para você aqui, o que acontece se eu simplesmente fizer isso?
Se eu executar isso.
Hmm.
Você viu aquilo?
Em vez de fatiar minha lista, eu simplesmente disse que o novo cartão será igual ao carrinho da Amazon.
E eu mudei um novo índice KAAT de zero para igual a Gump, mas agora meu carrinho Amazon também foi modificado.
Por que é que?
E essa é uma pergunta um pouco complicada que você pode encontrar em uma entrevista.
A razão é que agora, da maneira que fiz é igual, significa que, ei, o novo cartão vai ser igual ao cartão
da Amazon.
E a que Amazon carrinho é igual?
Bem, o carrinho da Amazon aponta em algum lugar na memória de nossas máquinas que diz, ei, isso é o que o carrinho da
Amazon é.
Então, porque aqui não estamos copiando a lista.
Em vez disso, estamos apenas dizendo, ei, o valor do novo cartão é o que está na memória do carrinho da Amazon.
Nós agora, quando modificamos o Nikhat, estamos simplesmente mudando o carrinho da Amazon todo o caminho de volta a partir daqui.
Portanto, este é um conceito importante.
Se você quiser, digamos, copiar uma lista, faça algo assim.
Onde você copiou a lista inteira e isso é algo que você verá muito nas bases de código.
Mas esta linha está dizendo, ei, eu quero criar uma cópia do fatiamento da lista de uso para copiar este carrinho da Amazon e vai igualar
o novo carrinho de forma que agora se eu executar isso.
Você verá que o carrinho original da Amazon permanece o mesmo, mas o novo carrinho agora é algo diferente.
Este é um pegadinho rápido.
Eles só precisam se acostumar, mas é um conceito importante, essa ideia de copiar versus modificar a lista,
e é algo que exploraremos um pouco mais nos próximos dois vídeos.
Por enquanto, faça uma pausa e verei na próxima.
Tchau.