WEBVTT

00:00.470 --> 00:01.230
Você acredita nisso?

00:01.820 --> 00:06.180
Espero não ter feito você dormir, mas estamos quase lá.

00:06.500 --> 00:11.480
Temos um último conjunto de tipo de dados principal e pronto.

00:11.630 --> 00:12.200
Eu sei.

00:12.200 --> 00:14.780
Eu sei que este não é o assunto mais emocionante.

00:15.080 --> 00:16.940
Acredite em mim, essa é a parte mais difícil.

00:16.940 --> 00:22.150
Quando você está começando e está aprendendo essas coisas sem entender, por que preciso disso?

00:22.160 --> 00:23.810
Como vou construir o próximo jogo?

00:23.810 --> 00:26.150
Como vou construir o próximo Netflix?

00:26.150 --> 00:29.920
Como vou construir o próximo aplicativo mais legal da Apple?

00:30.410 --> 00:33.650
Você está olhando para isso e pensando: acabei de aprender um monte de teoria.

00:33.660 --> 00:35.320
Eu me sinto como se estivesse na aula de matemática de novo.

00:35.960 --> 00:36.400
Eu sei.

00:36.410 --> 00:36.890
Confie em mim.

00:36.890 --> 00:37.610
Eu passei por isso.

00:37.610 --> 00:39.530
Eu também era um programador autodidata.

00:39.620 --> 00:42.260
Esses são os blocos de Lego que constroem nossa base.

00:42.470 --> 00:45.590
Depois de aprendermos isso, podemos prosseguir para coisas novas.

00:45.590 --> 00:51.620
E você verá que, ao escalar esta pequena montanha, as coisas se tornam muito mais fáceis e você perceberá

00:51.620 --> 00:52.310
o poder.

00:52.490 --> 00:58.370
Quando começamos a construir esses projetos no final da aula, onde você vai dizer, ah,

00:58.370 --> 01:03.500
todos esses bloqueios que aprendemos, toda essa parte francamente entediante vai fazer sentido.

01:04.310 --> 01:05.570
Então aguente firme.

01:05.570 --> 01:06.770
Deve ser difícil.

01:06.950 --> 01:12.920
Deve ser difícil, mas você verá muito em breve por que isso é tão poderoso e por que o

01:12.920 --> 01:18.860
que acabamos de aprender vai nos permitir construir coisas realmente incríveis e criar alguns programas realmente incríveis.

01:19.460 --> 01:27.740
Então vamos terminar com o último, o último tipo de dados, a última estrutura de dados que veremos

01:27.920 --> 01:30.740
em Python, pelo menos das principais.

01:32.180 --> 01:40.550
E é chamado de conjunto e os conjuntos são simplesmente coleções não ordenadas de objetos únicos.

01:41.270 --> 01:41.540
Hmm.

01:41.780 --> 01:42.460
Vamos dar uma olhada.

01:42.830 --> 01:51.290
Vamos criar uma mentalidade e meu conjunto criaremos com chaves como um dicionário, mas em vez de um dicionário,

01:51.290 --> 01:53.960
não temos pares de valores-chave.

01:54.050 --> 01:59.120
Em vez disso, temos apenas valores como um, dois, três, quatro ou cinco.

02:00.480 --> 02:07.530
É isso, é um conjunto que acabamos de criar, mas lembre-se, a definição que dei a você conjunto

02:07.530 --> 02:10.950
é uma coleção não ordenada de objetos únicos.

02:11.850 --> 02:12.540
O que isso significa?

02:12.810 --> 02:18.120
Bem, se eu imprimir isso e disser meu conjunto e clicar em executar.

02:19.110 --> 02:25.350
Recebo um conjunto, mas se tivesse, digamos, mais cinco aqui e clico em executar.

02:26.910 --> 02:35.390
Ele retorna apenas os conjuntos exclusivos ou itens exclusivos que você vê em um conjunto, não há duplicatas.

02:35.400 --> 02:37.620
Tudo tem que ser único.

02:38.640 --> 02:45.660
Portanto, esse fogo nunca é adicionado a um conjunto, por exemplo, você pode adicionar coisas a um conjunto como o meu e, então,

02:46.440 --> 02:50.250
posso dizer adicionar e atribuir a ele um valor de cem.

02:51.200 --> 02:57.560
E então, digamos que eu faça meu anúncio de ponto definido e, em seguida, dê para, se eu clicar, executar aqui.

02:58.670 --> 03:05.450
Vejo que consegui adicionar cem, mas dois bem, dois não foram realmente adicionados porque meu

03:05.450 --> 03:08.020
dito já continha esses dados.

03:08.690 --> 03:10.070
Não está ordenado.

03:10.680 --> 03:15.950
Quer dizer, nós criamos um, dois, três, quatro ou cinco aqui, mas não há uma ordem real para isso.

03:16.610 --> 03:21.020
Não há estante de livros em nosso espaço de memória que seja uma ao lado da outra.

03:21.180 --> 03:23.270
Eles estão espalhados por toda a memória.

03:23.270 --> 03:28.040
Mas um conjunto é capaz de encontrá-los porque são todos únicos.

03:28.250 --> 03:30.590
Então, eles estão todos em apenas um local na memória.

03:31.560 --> 03:36.240
Então, deixe-me perguntar uma coisa, e este será um pequeno exercício divertido.

03:37.290 --> 03:39.570
Se eu te der um array.

03:40.590 --> 03:44.490
E digamos que esta matriz contenha, bem, isso bem aqui.

03:45.730 --> 03:53.350
E eu quero que você retorne um array sem duplicatas, então eu quero tudo, digamos,

03:53.350 --> 03:56.080
vamos chamá-lo de minha lista.

03:57.700 --> 04:00.040
E um programador já criou isso.

04:01.100 --> 04:13.500
OK, então sua tarefa é criar ou retornar uma lista ou coleção que tem apenas itens exclusivos.

04:14.120 --> 04:16.520
Como você faria para converter isso em um conjunto?

04:17.330 --> 04:19.000
Bem, já vimos isso antes.

04:19.010 --> 04:25.790
Temos uma função de conjunto e simplesmente envolvemos minha lista nesse conjunto.

04:27.110 --> 04:28.160
E isso está impresso.

04:29.720 --> 04:30.500
Eu clico, corro.

04:31.940 --> 04:32.460
Confira.

04:32.780 --> 04:35.900
Formamos um novo conjunto de uma lista.

04:37.340 --> 04:41.480
E eu removi todos os valores duplicados, quando isso seria útil?

04:42.050 --> 04:48.680
Imagine se tivéssemos nomes de usuário corretos ou endereços de e-mail para coletar endereços de e-mail em

04:48.680 --> 04:52.030
nossa página inicial, mas não queremos e-mails duplicados.

04:52.070 --> 04:57.380
Podemos querer converter esta lista de e-mails em um conjunto e remover todas as duplicatas.

04:57.380 --> 04:59.540
Portanto, não estamos enviando e-mails indefinidamente.

04:59.720 --> 05:00.910
Então isso é muito legal.

05:01.880 --> 05:08.750
E sobre isso, posso mudar isso para um conjunto, então vamos chamá-lo de meu conjunto.

05:09.910 --> 05:11.610
Isso vai transformar isso em um conjunto.

05:11.850 --> 05:12.530
Ai está.

05:13.760 --> 05:18.920
E então, o que aconteceria se eu quisesse acessar meu conjunto com um índice de zero?

05:20.400 --> 05:23.160
Hmm, definir objeto não suporta indexação.

05:23.490 --> 05:31.320
Bem, novamente, você pode pensar nisso mais como um dicionário para acessar um conjunto, temos que pegar o

05:31.320 --> 05:33.060
item que está dentro.

05:33.780 --> 05:36.900
Essa é a chave para obter as informações da memória.

05:37.560 --> 05:48.030
A maneira como verificaríamos se algo existe é simplesmente dizer, ei, é um no meu conjunto e o executamos.

05:49.380 --> 05:50.820
E nós conseguimos.

05:51.720 --> 06:02.070
Também podemos fazer a duração do meu set e conseguir cinco de novo, nada muito louco, mas um, dois, três, quatro,

06:02.070 --> 06:02.780
cinco.

06:02.830 --> 06:07.350
Lembre-se, ele conta apenas as coisas únicas porque isso nunca será inserido.

06:07.350 --> 06:08.010
É um conjunto.

06:08.730 --> 06:12.300
E, como alternativa, também podemos converter isso em uma lista.

06:12.490 --> 06:18.540
Se eu clicar em executar aqui, você verá que agora tenho meu conjunto como uma lista.

06:19.710 --> 06:28.770
E então também podemos fazer, digamos, minha cópia do conjunto filha e realmente copiar meu conjunto em algo,

06:28.800 --> 06:29.850
digamos novo.

06:31.010 --> 06:39.140
Ou um novo conjunto, e então este será completamente diferente ou uma nova cópia, então esta original.

06:39.830 --> 06:43.340
Então, vamos testar isso, esse novo conjunto.

06:44.920 --> 06:53.050
Se eu usar um método que podemos ter visto antes, que é o meu set dot clear, que como você pode imaginar, limpa o

06:53.050 --> 06:55.390
set e eu clico em executar.

06:57.090 --> 07:06.780
Eu tenho aquele novo conjunto, mas quando tento imprimir está tudo pronto, que era o meu conjunto, vai ficar vazio,

07:06.780 --> 07:11.850
um conjunto vazio, mas o verdadeiro poder dos conjuntos chega.

07:11.850 --> 07:19.470
Os próximos métodos que vou mostrar a você e os conjuntos têm alguns métodos, mas não se preocupe, a

07:19.800 --> 07:22.110
maioria deles são bastante semelhantes.

07:22.120 --> 07:24.000
Então, vamos explorar isso no próximo vídeo.
