Você acredita nisso?
Espero não ter feito você dormir, mas estamos quase lá.
Temos um último conjunto de tipo de dados principal e pronto.
Eu sei.
Eu sei que este não é o assunto mais emocionante.
Acredite em mim, essa é a parte mais difícil.
Quando você está começando e está aprendendo essas coisas sem entender, por que preciso disso?
Como vou construir o próximo jogo?
Como vou construir o próximo Netflix?
Como vou construir o próximo aplicativo mais legal da Apple?
Você está olhando para isso e pensando: acabei de aprender um monte de teoria.
Eu me sinto como se estivesse na aula de matemática de novo.
Eu sei.
Confie em mim.
Eu passei por isso.
Eu também era um programador autodidata.
Esses são os blocos de Lego que constroem nossa base.
Depois de aprendermos isso, podemos prosseguir para coisas novas.
E você verá que, ao escalar esta pequena montanha, as coisas se tornam muito mais fáceis e você perceberá
o poder.
Quando começamos a construir esses projetos no final da aula, onde você vai dizer, ah,
todos esses bloqueios que aprendemos, toda essa parte francamente entediante vai fazer sentido.
Então aguente firme.
Deve ser difícil.
Deve ser difícil, mas você verá muito em breve por que isso é tão poderoso e por que o
que acabamos de aprender vai nos permitir construir coisas realmente incríveis e criar alguns programas realmente incríveis.
Então vamos terminar com o último, o último tipo de dados, a última estrutura de dados que veremos
em Python, pelo menos das principais.
E é chamado de conjunto e os conjuntos são simplesmente coleções não ordenadas de objetos únicos.
Hmm.
Vamos dar uma olhada.
Vamos criar uma mentalidade e meu conjunto criaremos com chaves como um dicionário, mas em vez de um dicionário,
não temos pares de valores-chave.
Em vez disso, temos apenas valores como um, dois, três, quatro ou cinco.
É isso, é um conjunto que acabamos de criar, mas lembre-se, a definição que dei a você conjunto
é uma coleção não ordenada de objetos únicos.
O que isso significa?
Bem, se eu imprimir isso e disser meu conjunto e clicar em executar.
Recebo um conjunto, mas se tivesse, digamos, mais cinco aqui e clico em executar.
Ele retorna apenas os conjuntos exclusivos ou itens exclusivos que você vê em um conjunto, não há duplicatas.
Tudo tem que ser único.
Portanto, esse fogo nunca é adicionado a um conjunto, por exemplo, você pode adicionar coisas a um conjunto como o meu e, então,
posso dizer adicionar e atribuir a ele um valor de cem.
E então, digamos que eu faça meu anúncio de ponto definido e, em seguida, dê para, se eu clicar, executar aqui.
Vejo que consegui adicionar cem, mas dois bem, dois não foram realmente adicionados porque meu
dito já continha esses dados.
Não está ordenado.
Quer dizer, nós criamos um, dois, três, quatro ou cinco aqui, mas não há uma ordem real para isso.
Não há estante de livros em nosso espaço de memória que seja uma ao lado da outra.
Eles estão espalhados por toda a memória.
Mas um conjunto é capaz de encontrá-los porque são todos únicos.
Então, eles estão todos em apenas um local na memória.
Então, deixe-me perguntar uma coisa, e este será um pequeno exercício divertido.
Se eu te der um array.
E digamos que esta matriz contenha, bem, isso bem aqui.
E eu quero que você retorne um array sem duplicatas, então eu quero tudo, digamos,
vamos chamá-lo de minha lista.
E um programador já criou isso.
OK, então sua tarefa é criar ou retornar uma lista ou coleção que tem apenas itens exclusivos.
Como você faria para converter isso em um conjunto?
Bem, já vimos isso antes.
Temos uma função de conjunto e simplesmente envolvemos minha lista nesse conjunto.
E isso está impresso.
Eu clico, corro.
Confira.
Formamos um novo conjunto de uma lista.
E eu removi todos os valores duplicados, quando isso seria útil?
Imagine se tivéssemos nomes de usuário corretos ou endereços de e-mail para coletar endereços de e-mail em
nossa página inicial, mas não queremos e-mails duplicados.
Podemos querer converter esta lista de e-mails em um conjunto e remover todas as duplicatas.
Portanto, não estamos enviando e-mails indefinidamente.
Então isso é muito legal.
E sobre isso, posso mudar isso para um conjunto, então vamos chamá-lo de meu conjunto.
Isso vai transformar isso em um conjunto.
Ai está.
E então, o que aconteceria se eu quisesse acessar meu conjunto com um índice de zero?
Hmm, definir objeto não suporta indexação.
Bem, novamente, você pode pensar nisso mais como um dicionário para acessar um conjunto, temos que pegar o
item que está dentro.
Essa é a chave para obter as informações da memória.
A maneira como verificaríamos se algo existe é simplesmente dizer, ei, é um no meu conjunto e o executamos.
E nós conseguimos.
Também podemos fazer a duração do meu set e conseguir cinco de novo, nada muito louco, mas um, dois, três, quatro,
cinco.
Lembre-se, ele conta apenas as coisas únicas porque isso nunca será inserido.
É um conjunto.
E, como alternativa, também podemos converter isso em uma lista.
Se eu clicar em executar aqui, você verá que agora tenho meu conjunto como uma lista.
E então também podemos fazer, digamos, minha cópia do conjunto filha e realmente copiar meu conjunto em algo,
digamos novo.
Ou um novo conjunto, e então este será completamente diferente ou uma nova cópia, então esta original.
Então, vamos testar isso, esse novo conjunto.
Se eu usar um método que podemos ter visto antes, que é o meu set dot clear, que como você pode imaginar, limpa o
set e eu clico em executar.
Eu tenho aquele novo conjunto, mas quando tento imprimir está tudo pronto, que era o meu conjunto, vai ficar vazio,
um conjunto vazio, mas o verdadeiro poder dos conjuntos chega.
Os próximos métodos que vou mostrar a você e os conjuntos têm alguns métodos, mas não se preocupe, a
maioria deles são bastante semelhantes.
Então, vamos explorar isso no próximo vídeo.