<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: sarah santana</title>
    <description>The latest articles on DEV Community by sarah santana (@sarahsantana).</description>
    <link>https://dev.to/sarahsantana</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F437312%2F2ae2542f-bba2-4d6a-9a08-45d2eabbf134.png</url>
      <title>DEV Community: sarah santana</title>
      <link>https://dev.to/sarahsantana</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sarahsantana"/>
    <language>en</language>
    <item>
      <title>SQL - operações matemáticas no SELECT</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Thu, 24 Feb 2022 16:11:46 +0000</pubDate>
      <link>https://dev.to/sarahsantana/sql-operacoes-matematicas-no-select-1ka0</link>
      <guid>https://dev.to/sarahsantana/sql-operacoes-matematicas-no-select-1ka0</guid>
      <description>&lt;p&gt;Enquanto estudava SQL, tive muita dificuldade de entender algumas operações nas queries, especialmente nas divisões e multiplicações pela singularidade da linguagem SQL em retornar o número inteiro. &lt;br&gt;
NÃO ENTENDI NADA DE PRIMEIRAAAA! Então vou anotar aqui pra nunca mais esquecer. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foagwui69r2ajbzjwv4x1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foagwui69r2ajbzjwv4x1.gif" alt="homem batendo com a mão na cabeça repetidamente" width="498" height="374"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Operações no SELECT
&lt;/h2&gt;

&lt;p&gt;Há dois tipos de consultas: linha a linha e funções de agregação (por coluna).&lt;br&gt;
A agregação é basicamente um "ETL" direto no SQL. &lt;/p&gt;

&lt;h3&gt;
  
  
  Operações básicas
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Soma&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;SELECT  1+2 AS resultado;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;SELECT 458.99 + 899 + 7.77;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subtração&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;SELECT 233 - (78.99 + 333)&lt;/code&gt;&lt;br&gt;
a operação segue a ordem de resolução, primeiro a operação entre parênteses depois o que está fora &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DIVISÃO&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT 50 / 2 AS resultado;&lt;/code&gt;&lt;br&gt;
retorna &lt;code&gt;25&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;mas...&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT 49 / 2 AS resultado;&lt;/code&gt;&lt;br&gt;
retorna &lt;code&gt;24&lt;/code&gt;&lt;br&gt;
ou seja: apenas o número inteiro&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PARA EXIBIR AS CASAS DECIMAIS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT 49.0 / 2 AS resultado;&lt;/code&gt;&lt;br&gt;
retorna &lt;code&gt;24.500000&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;OU também &lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT 49.99 / 2 AS resultado;&lt;/code&gt;&lt;br&gt;
retorna &lt;code&gt;24.995000&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MULTIPICAÇÃO&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT 50*2 AS resultado&lt;/code&gt;&lt;br&gt;
retorna 100&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT 50.88*3 AS resultado&lt;/code&gt;&lt;br&gt;
retorna 152.64&lt;/p&gt;

&lt;p&gt;Ou seja: &lt;/p&gt;

&lt;h4&gt;
  
  
  SEMPRE QUE VOCÊ FIZER A CONTA COM NÚMEROS INTEIROS, RETORNARÁ NÚMEROS INTEIROS. SE VOCÊ FIZER COM DECIMAIS, RETORNARÁ COM DECIMAIS.
&lt;/h4&gt;




&lt;h3&gt;
  
  
  Outras operações
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;POTENCIAÇÃO&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;SQUARE()&lt;/code&gt; = calcula o quadrado&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;POWER(x,y)&lt;/code&gt;: potenciação: x elevado a y &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;PORCENTAGEM&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ex:(+ 10%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;SELECT 100 * 1.1 AS resultado&lt;br&gt;
SELECT 100 + (100 * 0.1) AS resultado&lt;/code&gt;&lt;br&gt;
retorna 110.0 &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ex: (- 10%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;SELECT 100 * 0.9 AS RESULTADO&lt;/code&gt;&lt;br&gt;
retorna 90.0 &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RAIZ QUADRADA&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;SELECT SQRT (49)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PI&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;SELECT PI()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DATA ATUAL&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;SELECT GETDATE()&lt;/code&gt;&lt;/p&gt;

</description>
      <category>sql</category>
      <category>beginners</category>
      <category>database</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Python #7 - estruturas de repetição</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Thu, 10 Feb 2022 18:01:38 +0000</pubDate>
      <link>https://dev.to/sarahsantana/python-7-estruturas-de-repeticao-38ll</link>
      <guid>https://dev.to/sarahsantana/python-7-estruturas-de-repeticao-38ll</guid>
      <description>&lt;p&gt;&lt;em&gt;Esse post faz parte dos meus cadernos &lt;strong&gt;pessoais&lt;/strong&gt; de estudos. Todas as anotações são baseadas nas aulas da Mentorama - Cientista de Dados do zero e organizadas sob o meu ponto de vista. M3A2.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Estruturas de repetição
&lt;/h3&gt;

&lt;p&gt;Repetir blocos de código de maneira automática. &lt;/p&gt;

&lt;h3&gt;
  
  
  FOR
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;for&lt;/code&gt;:&lt;/strong&gt; Executa um número fixo de vezes &lt;/p&gt;

&lt;p&gt;&lt;code&gt;notas = [9, 9.5,8,8.5,7,6.5]&lt;br&gt;
for nota in notas:&lt;br&gt;
print(nota)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;iterar em listas (percorrer a lista)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;for num in range(1,10,2):&lt;br&gt;
    print(num)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;iterar em strings &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;for letra in "PYTHON":&lt;br&gt;
    print(letra)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Iterar em dicionários &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;​dic_aluno_nota = {"Maria": 7.5, "Joao": 9, "Pedro":6, "Mariana":10, "Paulo": 6.5}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;com duas variáveis iteradoras:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;for aluno, nota in dic_aluno_nota.items():&lt;br&gt;
    print(aluno,":", nota)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Maria : 7.5&lt;br&gt;
Joao : 9&lt;br&gt;
Pedro : 6&lt;br&gt;
Mariana : 10&lt;br&gt;
Paulo : 6.5&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Combinar o loop for com a estrutura if-else&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;alunos_reprovados = {}&lt;br&gt;
alunos_aprovados = {}&lt;br&gt;
for aluno, nota in dic_aluno_nota.items():&lt;br&gt;
    if nota &amp;lt; 7:&lt;br&gt;
        alunos_reprovados.update({aluno:nota})&lt;br&gt;
    else:&lt;br&gt;
        alunos_aprovados.update({aluno:nota})&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Alterar execução de loops
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;break:&lt;/code&gt;&lt;/strong&gt; interrompe o loop &lt;/p&gt;

&lt;p&gt;&lt;code&gt;L1 = range(1,50,2)&lt;br&gt;
L2 = range(1,50,1)&lt;br&gt;
for i, j in zip (L1,L2):&lt;br&gt;
    if i*j &amp;gt; 100:&lt;br&gt;
        break&lt;br&gt;
    else:&lt;br&gt;
        print("i vezes j é:", i*j)&lt;br&gt;
print("Aqui o loop já parou!")&lt;br&gt;
print("Os próximos i e j seriam:", (i,j))&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;continue:&lt;/code&gt;&lt;/strong&gt; não para o loop, e sim ignora o que está abaixo dele e avança para a próxima iteração &lt;/p&gt;




&lt;h4&gt;
  
  
  WHILE
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;while&lt;/code&gt;:&lt;/strong&gt; Executa enquanto uma condição é verdadeira&lt;/p&gt;

&lt;p&gt;&lt;code&gt;erro = 30 &lt;br&gt;
while erro &amp;gt; 11:&lt;br&gt;
    print("O erro ainda é maior que 11, é", erro)&lt;br&gt;
    erro = erro - 2 #sem essa linha ele nao para&lt;br&gt;
print ("\n fim do while com erro igual a", erro)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;dentro do while é necessário iterar a variável para que em algum momento ela seja falsa &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>python</category>
      <category>codenewbie</category>
      <category>programming</category>
    </item>
    <item>
      <title>Python #6 - estruturas de decisão</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Thu, 10 Feb 2022 14:53:48 +0000</pubDate>
      <link>https://dev.to/sarahsantana/python-6-estruturas-de-decisao-21ld</link>
      <guid>https://dev.to/sarahsantana/python-6-estruturas-de-decisao-21ld</guid>
      <description>&lt;p&gt;&lt;em&gt;Esse post faz parte dos meus cadernos &lt;strong&gt;pessoais&lt;/strong&gt; de estudos. Todas as anotações são baseadas nas aulas da Mentorama - Cientista de Dados do zero e organizadas sob o meu ponto de vista. M3A1&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Estruturas de decisão
&lt;/h3&gt;

&lt;p&gt;São utilizadas quando queremos que o algoritmo siga um caminho específico a partir de uma regra/variável de interesse. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Exemplo lógico: Se... então.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;nota = 5&lt;br&gt;
if nota &amp;gt;=7: &lt;br&gt;
    print("Parabéns! Você está aprovado")&lt;br&gt;
else:&lt;br&gt;
    print ("Você foi reprovado")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;if&lt;/code&gt;: verdadeiro &lt;br&gt;
&lt;code&gt;else&lt;/code&gt;: se for falso &lt;/p&gt;

&lt;p&gt;o &lt;code&gt;print&lt;/code&gt; vem identado &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Verificar a idade para dirigir. Sem o else.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;idade = int(input("Qual sua idade?"))&lt;br&gt;
if (idade &amp;gt;= 18):&lt;br&gt;
    print("Idade digitada", idade)&lt;br&gt;
    print("Você já pode tirar a CNH")&lt;br&gt;
    print("Parabéns")&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ex com duas variáveis de decisão &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;idade = int(input("Qual sua idade?"))&lt;br&gt;
visão = str(input("Você enxerga bem?"))&lt;br&gt;
if (idade &amp;gt;= 18 and visão == "sim" or "Sim"):&lt;br&gt;
    print("Você já pode tirar a CNH")&lt;br&gt;
    print("Parabéns")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;botei "sim" or "Sim" por conta da linguagem ser case sensitive&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pesquisa de produto disponível em estoque &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;produtos_disponiveis = ["arroz", "feijao", "farinha", "banana", "leite"]&lt;br&gt;
produto = input("Qual produto você procura?")&lt;br&gt;
if produto in produtos_disponiveis:&lt;br&gt;
    print ("Oba! Temos o produto no estoque")&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Verificação de saque no app do banco&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;saldo = 1000&lt;br&gt;
valor_saque = 75 &lt;br&gt;
if saldo &amp;gt;= valor_saque:&lt;br&gt;
    print("O valor de", valor_saque, "foi sacado com sucesso")&lt;br&gt;
    saldo = saldo - valor_saque&lt;br&gt;
    print("Seu novo saldo é", saldo)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Verificação de frequência de aluno para aprovação &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;nota = 9 &lt;br&gt;
frequencia = 77&lt;/p&gt;

&lt;p&gt;if (nota &amp;gt;= 9 and frequencia &amp;gt;= 80):&lt;br&gt;
    print ('Aprovado')&lt;br&gt;
else:&lt;br&gt;
    print("Reprovado!")&lt;/p&gt;

&lt;h4&gt;
  
  
  ELIF - If aninhado
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;nota = 5&lt;br&gt;
frequencia = 77&lt;br&gt;
if (nota &amp;gt;= 7):&lt;br&gt;
    print("Aprovado")&lt;br&gt;
else:&lt;br&gt;
    if frequencia &amp;gt;= 80:&lt;br&gt;
        print("Em exame")&lt;br&gt;
    else:&lt;br&gt;
        print ("Você faltou, está reprovado")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Usando o elif&lt;/p&gt;

&lt;p&gt;&lt;code&gt;nota = 6&lt;br&gt;
frequencia = 85 &lt;br&gt;
if (nota &amp;gt;= 7):&lt;br&gt;
    print("Aprovado")&lt;br&gt;
elif nota &amp;gt;= 6 and frequencia &amp;gt;=80:&lt;br&gt;
    print("Em exame")&lt;br&gt;
else: &lt;br&gt;
    print("Você faltou e tem nota baixa. Reprovado")&lt;/code&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>python</category>
      <category>datascience</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Python #5: estrutura de dados - conjuntos</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Mon, 24 Jan 2022 19:53:40 +0000</pubDate>
      <link>https://dev.to/sarahsantana/python-5-estrutura-de-dados-conjuntos-2gc8</link>
      <guid>https://dev.to/sarahsantana/python-5-estrutura-de-dados-conjuntos-2gc8</guid>
      <description>&lt;p&gt;&lt;em&gt;Esse post faz parte dos meus cadernos &lt;strong&gt;pessoais&lt;/strong&gt; de estudos. Todas as anotações são baseadas nas aulas da Mentorama - Cientista de Dados do zero e organizadas sob o meu ponto de vista. M2A1A6.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Estrutura de Dados em Python
&lt;/h3&gt;

&lt;p&gt;Definição: Coleções de dados com características específicas&lt;/p&gt;

&lt;h4&gt;
  
  
  Conjuntos
&lt;/h4&gt;

&lt;p&gt;Mutáveis, não ordenados, elementos únicos.&lt;br&gt;
Não tem noção de ordem nem elementos repetidos&lt;br&gt;
Só aceitam dados imutáveis (não aceitam listas nem dicionários, por exemplo). &lt;br&gt;
&lt;em&gt;Não tem index nem slice.&lt;/em&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  Criar conjunto
&lt;/h5&gt;

&lt;p&gt;Também se usam as chaves &lt;code&gt;{ }&lt;/code&gt;, assim como nos dicionários. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;primeiro_conjunto = {2,4,6,8}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;O conjunto não tem ordenação, então se você pedir o print, ele vai retornar sem ordem. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;print(primeiro_conjunto)&lt;br&gt;
{8, 2, 4, 6}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;o tipo é &lt;code&gt;set&lt;/code&gt;&lt;br&gt;
&lt;code&gt;type(primeiro_conjunto)&lt;br&gt;
set&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;len(primeiro_conjunto)&lt;br&gt;
4&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;criar conjunto vazio
apesar de usarmos os &lt;code&gt;{ }&lt;/code&gt; para inserir os elementos do conjunto, para criarmos um conjunto vazio, precisamos usar &lt;code&gt;( )&lt;/code&gt; após a palavra &lt;code&gt;set&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;conj_vazio = set()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;pois se usarmos só &lt;code&gt;{ }&lt;/code&gt; ele vai entender como um &lt;code&gt;dict&lt;/code&gt; vazio&lt;/p&gt;




&lt;h5&gt;
  
  
  A função SET
&lt;/h5&gt;

&lt;p&gt;Considere a lista: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_= [1,2,5,6,6,7,8,8]&lt;br&gt;
print(len(lista_))&lt;br&gt;
8&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;agora vamos transformar essa lista em conjunto usando a função &lt;code&gt;set&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;print(set(lista_))&lt;br&gt;
{1, 2, 5, 6, 7, 8}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;como o conjunto não aceita elementos repetidos, ele excluiu o 6 e o 8 excedentes e agora o conjunto tem só 6 elementos&lt;/p&gt;

&lt;p&gt;&lt;code&gt;print(len(set(lista_)))&lt;br&gt;
6&lt;/code&gt;&lt;/p&gt;




&lt;h4&gt;
  
  
  Funções nativas para conjuntos
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;add()&lt;/code&gt;: adiciona elementos &lt;/p&gt;

&lt;p&gt;&lt;code&gt;primeiro_conjunto.add(10)&lt;br&gt;
primeiro_conjunto&lt;br&gt;
{2, 4, 6, 8, 10}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;remove()&lt;/code&gt;: remove o elemento nomeado &lt;/p&gt;

&lt;p&gt;&lt;code&gt;primeiro_conjunto.remove(4)&lt;br&gt;
primeiro_conjunto&lt;br&gt;
{2, 6, 8, 10}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;na função &lt;code&gt;pop&lt;/code&gt;se você deixar o &lt;code&gt;( )&lt;/code&gt; vazio, ele vai eliminar o primeiro elemento do conjunto&lt;/p&gt;

&lt;p&gt;&lt;code&gt;primeiro_conjunto.pop()&lt;br&gt;
primeiro_conjunto.pop()&lt;br&gt;
2&lt;/code&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  Operações entre conjuntos
&lt;/h5&gt;

&lt;p&gt;Usar duas listas para fazer as operações:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pares = [2,4,6,8,10]&lt;br&gt;
multiplos_4 = [4,8,12,16]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;agora transformar essas listas em conjuntos:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pares = set(pares)&lt;br&gt;
multiplos_4 = set(multiplos_4)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intersecção: estão nas duas listas
&lt;code&gt;.intersection()&lt;/code&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;pares.intersection(multiplos_4)&lt;br&gt;
{4, 8}&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;União: estão em uma lista OU na outra
&lt;code&gt;.union()&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;pares.union(multiplos_4)&lt;br&gt;
{2, 4, 6, 8, 10, 12, 16}&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Diferença: elementos que estão na primeira lista (antes da função) e não estão na segunda (dentro dos parênteses)
&lt;code&gt;.difference()&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;estão em &lt;code&gt;pares&lt;/code&gt; mas não estão em &lt;code&gt;multiplos_4&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pares.difference(multiplos_4)&lt;br&gt;
{2, 6, 10}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;e o contrário &lt;/p&gt;

&lt;p&gt;&lt;code&gt;multiplos_4.difference(pares)&lt;br&gt;
{12, 16}&lt;/code&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>python</category>
      <category>datascience</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Python #4: estrutura de dados - dicionários</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Mon, 24 Jan 2022 16:57:08 +0000</pubDate>
      <link>https://dev.to/sarahsantana/python-4-estrutura-de-dados-dicionarios-31cc</link>
      <guid>https://dev.to/sarahsantana/python-4-estrutura-de-dados-dicionarios-31cc</guid>
      <description>&lt;p&gt;&lt;em&gt;Esse post faz parte dos meus cadernos &lt;strong&gt;pessoais&lt;/strong&gt; de estudos. Todas as anotações são baseadas nas aulas da Mentorama - Cientista de Dados do zero e organizadas sob o meu ponto de vista. M2A1A5.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Estrutura de Dados em Python
&lt;/h3&gt;

&lt;p&gt;Definição: Coleções de dados com características específicas&lt;/p&gt;

&lt;h4&gt;
  
  
  Dicionários
&lt;/h4&gt;

&lt;p&gt;Mutáveis, conceito chave-valor. &lt;/p&gt;

&lt;p&gt;O dicionário coleciona &lt;strong&gt;pares&lt;/strong&gt; de elementos. Sempre haverá uma chave e seu valor correspondente. &lt;/p&gt;




&lt;h5&gt;
  
  
  Criando um dicionário
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;dicionario = {}&lt;br&gt;
dicionario&lt;br&gt;
{}&lt;br&gt;
type(dicionario)&lt;br&gt;
dict&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Também dá pra criar usando a função &lt;code&gt;dict&lt;/code&gt; igual fizemos com a função &lt;code&gt;tuple&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;A inspiração é a mesma de um dicionário comum:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dict_en_pt = {"data science" : "ciência de dados", &lt;br&gt;
"machine learning" : "aprendizado de máquina", &lt;br&gt;
"deep learning" : "aprendizado profundo"}&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Pareando chave-valor
&lt;/h5&gt;

&lt;p&gt;O dicionário é apresentado entre colchetes &lt;code&gt;{ }&lt;/code&gt;&lt;br&gt;
Primeiro se insere a chave, dois pontos, e o valor. &lt;/p&gt;

&lt;p&gt;Ex.: &lt;code&gt;notas_prova1 = {"Joao":10,"Maria":7.5, "Pedro":6}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;As chaves sempre são únicas.&lt;/strong&gt; Imagine que ao abrir um dicionário, você não encontra a mesma palavra duas vezes. &lt;/p&gt;

&lt;p&gt;Sendo assim, quando você atribui um novo valor à uma variável, o Python vai *&lt;em&gt;sobrescrever *&lt;/em&gt; a chave já existente. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;notas_prova1["Joao"] = 9&lt;br&gt;
notas_prova1&lt;br&gt;
{'Joao': 9, 'Maria': 7.5, 'Pedro': 6}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Você não adicionou outro "João" e sim mudou a nota de 10 pra 9.&lt;/p&gt;

&lt;h5&gt;
  
  
  Criando uma nova chave
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;notas_prova1["Mariana"] = 8.7&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;não tem nenhuma chave Mariana, então ela será criada automaticamente &lt;/p&gt;

&lt;h5&gt;
  
  
  Funções do dicionário
&lt;/h5&gt;

&lt;p&gt;Função: &lt;code&gt;update&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;notas_prova1.update({"Joaquin":7.7})&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;como não tinha nenhum Joaquin, a chave foi criada e não sobrescrita. &lt;/p&gt;

&lt;p&gt;Para contar os elementos, usamos &lt;code&gt;len&lt;/code&gt; igual nas outras estruturas, porém um elemento no dicionário é um par chave-valor, então ele retornará o número de &lt;strong&gt;pares&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;len(notas_prova1)&lt;br&gt;
5&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Acessar um valor
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;via chave
&lt;code&gt;notas_prova1{"Joao"} 
9&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ou via função &lt;code&gt;get&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;notas_prova1.get("Joao")&lt;br&gt;
9&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;via indexação 
a indexação é pela chave e não pela posição como nas listas &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;notas_prova1[0] &lt;br&gt;
KeyError: 0&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Alterar um valor
&lt;/h5&gt;

&lt;p&gt;Mudar o valor da chave. Ex:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;notas_prova1["Pedro] = 6.5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;O valor pode ser de vários tipos, por exemplo, uma lista de notas daquele aluno. Não somente uma nota, como anteriormente. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;notas_provas={"Joao": [9, 9.5], "Maria": [7.5, 8], "Pedro": [6.5, 6], "Mariana": [8.7, 9]&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;valores com tipos diferentes &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;dic_formulario = {"nome": "Joao", "idade" : 18, "nota_1" :9}&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;chaves de tipos diferentes &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;dic_chavesvariostipos ={ "Nome":"Joao", 1: True, 2: 9.5}&lt;/code&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  FUNÇÕES BÁSICAS PARA DICIONÁRIOS
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;get&lt;/code&gt;: acessar &lt;br&gt;
&lt;code&gt;keys&lt;/code&gt;: mostra todas as chaves do dicionário &lt;br&gt;
&lt;code&gt;values&lt;/code&gt;: mostra todas os valores &lt;br&gt;
&lt;code&gt;itens&lt;/code&gt;: mostra todos os pares chave-valor &lt;br&gt;
&lt;code&gt;pop&lt;/code&gt;: remove o par de acordo com a chave &lt;br&gt;
&lt;code&gt;update&lt;/code&gt;: cria ou altera uma chave &lt;br&gt;
&lt;code&gt;clear&lt;/code&gt;: apaga valores de um dicionário &lt;/p&gt;

&lt;h5&gt;
  
  
  Função ZIP
&lt;/h5&gt;

&lt;p&gt;Essa função pega o primeiro elemento da lista A e pareia com o primeiro da lista B. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_nomes = ["Maria", "Joao", "Pedro", "Mariana"]&lt;br&gt;
lista_notas = [ 7.5,9,6.5,8.7]&lt;br&gt;
print(lista_nomes)&lt;br&gt;
['Maria', 'Joao', 'Pedro', 'Mariana']&lt;br&gt;
print(lista_notas)&lt;br&gt;
[7.5, 9, 6.5, 8.7]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;cria-se uma lista com tuplas: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_pares = list(zip(lista_nomes, lista_notas)) ; lista_pares&lt;br&gt;
[('Maria', 7.5), ('Joao', 9), ('Pedro', 6.5), ('Mariana', 8.7)]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;e agora transforma essa lista em dicionário: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;dict(lista_pares)&lt;br&gt;
{'Maria': 7.5, 'Joao': 9, 'Pedro': 6.5, 'Mariana': 8.7}&lt;/code&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>python</category>
      <category>codenewbie</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Python #3 : estrutura de dados - tuplas</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Sat, 22 Jan 2022 04:53:03 +0000</pubDate>
      <link>https://dev.to/sarahsantana/python-3-estrutura-de-dados-tuplas-145l</link>
      <guid>https://dev.to/sarahsantana/python-3-estrutura-de-dados-tuplas-145l</guid>
      <description>&lt;p&gt;&lt;em&gt;Esse post faz parte dos meus cadernos &lt;strong&gt;pessoais&lt;/strong&gt; de estudos. Todas as anotações são baseadas nas aulas da Mentorama - Cientista de Dados do zero e organizadas sob o meu ponto de vista. M2A1A4.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Estrutura de Dados em Python
&lt;/h3&gt;

&lt;p&gt;Definição: Coleções de dados com características específicas&lt;/p&gt;

&lt;h4&gt;
  
  
  Tuplas
&lt;/h4&gt;

&lt;p&gt;Imutáveis, você só altera a tupla inteira. Vários tipos.&lt;/p&gt;




&lt;h4&gt;
  
  
  Criar tuplas
&lt;/h4&gt;

&lt;p&gt;Para criar tuplas você coloca os elementos entre &lt;code&gt;()&lt;/code&gt;separados por &lt;code&gt;,&lt;/code&gt; &lt;em&gt;na lista a gente colocava com &lt;code&gt;[]&lt;/code&gt;, lembra?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tupla_inteiros = (1,2,3)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;também dá pra criar usando o método &lt;code&gt;tuple&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tupla1 = tuple((1,2,"a", True,"a"))&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Nas tuplas também dá pra usar a função &lt;code&gt;len&lt;/code&gt; para contar os elementos&lt;/p&gt;

&lt;p&gt;&lt;code&gt;print(len(tupla_inteiros))&lt;br&gt;
3&lt;/code&gt;&lt;br&gt;
&lt;code&gt;print(len(tupla1))&lt;br&gt;
5&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Acessar os elementos por indexação, igual nas listas
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;tupla1[2]&lt;br&gt;
'a'&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Concatenação de tuplas
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;tupla_inteiros + tupla1&lt;br&gt;
(1, 2, 3, 1, 2, 'a', True, 'a')&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Funções básicas das tuplas
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;print(max(tupla_inteiros))&lt;br&gt;
print(min(tupla_inteiros))&lt;br&gt;
3&lt;br&gt;
1&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  A TUPLA É IMUTÁVEL
&lt;/h5&gt;

&lt;p&gt;Diferente da lista, não conseguimos alterar um elemento da tupla. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;tupla_inteiros[0]=2&lt;br&gt;
TypeError: 'tuple' object does not support item assignment&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;mesmo erro que ele apresentou quando tentei alterar um elemento de uma &lt;code&gt;string&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Por esse fato, não temos tantas funções de mutação como tínhamos na lista: &lt;code&gt;insert, append, remove, pop&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Mas temos outros...&lt;/p&gt;

&lt;h5&gt;
  
  
  Contar elementos
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;tupla1.count('a')&lt;br&gt;
2&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Buscar elemento por index
&lt;/h5&gt;

&lt;p&gt;sempre a primeira aparição do elemento&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tupla1.index('a')&lt;br&gt;
2&lt;/code&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>codenewbie</category>
      <category>datascience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Python #2 : estrutura de dados - listas</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Sat, 22 Jan 2022 04:26:55 +0000</pubDate>
      <link>https://dev.to/sarahsantana/python-2-estrutura-de-dados-listas-4h8</link>
      <guid>https://dev.to/sarahsantana/python-2-estrutura-de-dados-listas-4h8</guid>
      <description>&lt;p&gt;&lt;em&gt;Esse post faz parte dos meus cadernos &lt;strong&gt;pessoais&lt;/strong&gt; de estudos. Todas as anotações são baseadas nas aulas da Mentorama - Cientista de Dados do zero e organizadas sob o meu ponto de vista. M2A3.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Estrutura de Dados em Python
&lt;/h3&gt;

&lt;p&gt;Definição: Coleções de dados com características específicas&lt;/p&gt;

&lt;h4&gt;
  
  
  Listas
&lt;/h4&gt;

&lt;p&gt;Mutáveis, vários tipos.&lt;br&gt;
Existe um espaço na memória para cada valor da lista.&lt;/p&gt;




&lt;h5&gt;
  
  
  Criar lista:
&lt;/h5&gt;

&lt;p&gt;Usamos &lt;code&gt;[ ]&lt;/code&gt; e separamos os valores por &lt;code&gt;,&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_nomes = ['Annie', 'Elias', 'Sarah', 'San'] &lt;br&gt;
type(lista_nomes)&lt;br&gt;
 list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Essa lista era de nomes, então tinham só variáveis no formato &lt;code&gt;string&lt;/code&gt;. Agora vamos criar uma com vários tipos de variáveis.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_varios_tipos = [1,2, True, [3,4,5]]&lt;/code&gt;&lt;br&gt;
veja que em &lt;code&gt;[3,4,5]&lt;/code&gt; foi colocada uma lista dentro da lista.&lt;/p&gt;

&lt;p&gt;se você pedir o tipo &lt;br&gt;
&lt;code&gt;type(lista_varios_tipos)&lt;/code&gt; &lt;br&gt;
vai retornar &lt;code&gt;list&lt;/code&gt; também. &lt;/p&gt;

&lt;p&gt;Dá pra retornar uma lista vazia também, só deixando os colchetes vazios &lt;code&gt;[ ]&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Para visualizar os elementos da lista: &lt;u&gt;print&lt;/u&gt;&lt;br&gt;
&lt;code&gt;print(lista_nomes)&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Para contar o número de elementos numa lista: &lt;u&gt;len&lt;/u&gt;&lt;br&gt;
&lt;code&gt;print(len(listanomes))&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Para acessar os elementos da lista:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A indexação no python começa em zero. Então o 1° elemento estará sempre na posição 0. O 2° elemento será o 1. &lt;/p&gt;

&lt;p&gt;No exemplo da &lt;code&gt;lista_varios_tipos = [1,2, True, [3,4,5]]&lt;/code&gt;&lt;br&gt;
a indexação será:&lt;br&gt;
0 = &lt;code&gt;1&lt;/code&gt;&lt;br&gt;
1 = &lt;code&gt;2&lt;/code&gt;&lt;br&gt;
2 = &lt;code&gt;True&lt;/code&gt;&lt;br&gt;
3 = &lt;code&gt;[3,4,5]&lt;/code&gt;(aqui ele retorna a lista inteira que está inserida]&lt;/p&gt;

&lt;p&gt;Se você quiser saber algum elemento da lista que é outro elemento, tem que botar as indexações em ordem assim:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_varios_tipos[3][1]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;ou seja: o index &lt;code&gt;[3]&lt;/code&gt; é a lista &lt;code&gt;[3,4,5]&lt;/code&gt;, e o &lt;code&gt;[1]&lt;/code&gt; é o segundo elemento de dentro dessa lista &lt;code&gt;4&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;para "fatiar" uma lista, ou seja, acessar apenas uma parte dela. função chamada &lt;em&gt;slicing&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;na &lt;code&gt;lista_nomes = [Annie, Elias, Sarah, San]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;se eu pedir um &lt;em&gt;slicing&lt;/em&gt;, ele será sempre ABERTO a direita e FECHADO a esquerda, o último elemento do index não vai aparecer. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_nomes = [0:2]&lt;/code&gt;&lt;br&gt;
vai retornar&lt;br&gt;
&lt;code&gt;Annie, Elias&lt;/code&gt;&lt;br&gt;
que pode ser simplificado por &lt;code&gt;lista_nomes = [:2]&lt;/code&gt;&lt;br&gt;
seria tipo um "até dois". &lt;/p&gt;

&lt;p&gt;também é possível consultar "de trás para frente" usando uma posição negativa &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_nomes = [-1]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;vai retornar &lt;code&gt;San&lt;/code&gt; que é o último elemento da lista&lt;br&gt;
&lt;code&gt;lista_nomes = [-2]&lt;/code&gt;retorna &lt;code&gt;Sarah&lt;/code&gt; que é o penúltimo&lt;/p&gt;




&lt;h5&gt;
  
  
  Strings VS. Listas
&lt;/h5&gt;

&lt;p&gt;Dentro de uma lista, um elemento &lt;code&gt;string&lt;/code&gt; também é visto como uma sequência de caracteres. &lt;/p&gt;

&lt;p&gt;Assim como fizemos em &lt;code&gt;lista_varios_tipos[3][1]&lt;/code&gt; que retornou o segundo elemento de lista [3], conseguimos fazer com uma variável string. &lt;/p&gt;

&lt;p&gt;Em &lt;code&gt;lista_nomes[0]&lt;/code&gt; retorna &lt;code&gt;"Annie"&lt;/code&gt;&lt;br&gt;
Se eu colocar &lt;code&gt;lista_nomes[0][3]&lt;/code&gt;&lt;br&gt;
ele vai me retornar o 4º elemento da string &lt;code&gt;"Annie"&lt;/code&gt;ou seja &lt;br&gt;
&lt;code&gt;lista_nomes[0][3]&lt;br&gt;
"i"&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Alterar valores em lista
&lt;/h5&gt;

&lt;p&gt;Vamos supor que a 'Annie' agora quer usar seu segundo nome, 'Carol'&lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_nomes[0] = Carol&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;quando eu rodar &lt;code&gt;lista_nomes&lt;/code&gt; ele vai retornar&lt;br&gt;
&lt;code&gt;'Carol', 'Elias', 'Sarah', 'San'&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mas a String é imutável &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;eu jamais conseguiria trocar "Carol" por "Karol" alterando seu primeiro elemento &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_nomes[0][0] = K&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;NÃO FUNCIONA&lt;/strong&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  Concatenar listas
&lt;/h5&gt;

&lt;p&gt;Para juntar duas listas é a mesma coisa pra concatenar strings: usar o operador de soma. &lt;br&gt;
Exemplo:&lt;br&gt;
&lt;code&gt;lista_todos = lista1 + lista 2&lt;/code&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  FUNÇÕES PARA A LISTA
&lt;/h5&gt;

&lt;p&gt;Exemplo:&lt;/p&gt;

&lt;p&gt;lista_de_notas = [6, 7, 8, 5, 4, 9, 10, 2, 4] &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;menor elemento da lista 
&lt;code&gt;min(lista_de_notas)
2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;maior &lt;br&gt;
&lt;code&gt;max(lista_de_notas) &lt;br&gt;
10&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;soma &lt;br&gt;
&lt;code&gt;sum(lista_de_notas)&lt;br&gt;
55&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;como eu ainda não instalei nenhum módulo statistics vou calcular a média manualmente calculando o número de elementos também&lt;/p&gt;

&lt;p&gt;&lt;code&gt;len(lista_de_notas)&lt;br&gt;
9&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;print(55/9)&lt;br&gt;
6.1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;agora vou tentar tirar a mediana, usando o sort e depois tirar a média usando o acesso ao elemento &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_de_notas.sort()&lt;/code&gt; essa função coloca a lista em ordem crescente (achei no stackoverflow)&lt;/p&gt;

&lt;p&gt;rodei, e pedi o print&lt;/p&gt;

&lt;p&gt;&lt;code&gt;print(lista_de_notas)&lt;br&gt;
[2, 4, 4, 5, 6, 7, 8, 9, 10]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;a mediana é a do meio, já vi que é a nota &lt;code&gt;6&lt;/code&gt; mas quero fazer do jeito certo&lt;/p&gt;

&lt;p&gt;na aula de estatística aprendi que a mediana de uma observação com n ímpar é o número da posição do meio&lt;/p&gt;

&lt;p&gt;quantos números eu tenho (n)? já vi no len!&lt;/p&gt;

&lt;p&gt;&lt;code&gt;len(lista_de_notas)&lt;br&gt;
9&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;qual o número da posição do meio? n+1/2 = 9 + 1 = 10/2 = 5 &lt;br&gt;
como vou puxar ela na lista? &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_de_notas[4]&lt;br&gt;
6&lt;/code&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  A função range
&lt;/h5&gt;

&lt;p&gt;Faz uma lista de maneira automática &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_range = list(range(0,10,1))&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;criar &lt;code&gt;list&lt;/code&gt;&lt;br&gt;
num intervalo &lt;code&gt;range&lt;/code&gt;&lt;br&gt;
de &lt;code&gt;0&lt;/code&gt; a &lt;code&gt;10&lt;/code&gt;&lt;br&gt;
com passos de &lt;code&gt;1&lt;/code&gt; a &lt;/p&gt;

&lt;p&gt;retornou &lt;br&gt;
&lt;code&gt;[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
então entendi de novo que o intervalo vai ser fechado à direita &lt;br&gt;
se eu quisesse até o &lt;code&gt;10&lt;/code&gt;, ia pedir o&lt;code&gt;11&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;lista_range = list(range(0,11,1))&lt;br&gt;
print(lista_range)&lt;br&gt;
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]&lt;/code&gt;&lt;/p&gt;




&lt;h4&gt;
  
  
  FUNÇÕES NATIVAS PARA LISTAS
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Adicionar elementos em uma lista
&lt;/h5&gt;

&lt;p&gt;Além de concatenar duas listas, também podemos adicionar elementos a uma lista usando o operador &lt;code&gt;+&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;&lt;code&gt;linguagens = ["Python", "SQL", "R"]&lt;br&gt;
print(linguagens)&lt;br&gt;
'Python', 'SQL', 'R'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;agora vou adicionar mais elementos &lt;/p&gt;

&lt;p&gt;&lt;code&gt;linguagens_2 = linguagens + ["Java", "C++"]&lt;br&gt;
print(linguagens_2)&lt;br&gt;
['Python', 'SQL', 'R', 'Java', 'C++']&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
também dá pra adicionar usando a função &lt;code&gt;append&lt;/code&gt; que é própria para listas &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;linguagens.append("Java")&lt;br&gt;
linguagens.append("C++")&lt;br&gt;
print(linguagens)&lt;br&gt;
['Python', 'SQL', 'R', 'Java', 'C++']&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;se eu passar o &lt;code&gt;append&lt;/code&gt;como lista, ele vai inserir uma lista dentro da lista, e não acrescentar os elementos normalmente &lt;br&gt;
&lt;code&gt;&lt;br&gt;
linguagens.append(["Java", "C++"])&lt;br&gt;
print(linguagens)&lt;br&gt;
['Python', 'SQL', 'R', ['Java', 'C++']]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;para adicionar vários elementos de uma vez em lista mas para adicionar como elementos soltos na lista original, usa-se o &lt;code&gt;extend&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;linguagens.extend(["Java", "C++"])&lt;br&gt;
print(linguagens)&lt;br&gt;
['Python', 'SQL', 'R', ['Java', 'C++'], 'Java', 'C++']&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;nesse caso aqui acrescentei sem criar outra lista ou renomear(?)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;o &lt;code&gt;insert&lt;/code&gt; adiciona um elemento &lt;code&gt;"Scala"&lt;/code&gt;, mas em uma opção específica &lt;code&gt;0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;linguagens.insert(0,"Scala")&lt;br&gt;
print(linguagens)&lt;br&gt;
['Scala','Python', 'SQL', 'R', ['Java', 'C++'], 'Java', 'C++', 'Java', 'C++']&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Remover elementos
&lt;/h5&gt;

&lt;p&gt;o &lt;code&gt;remove&lt;/code&gt; deleta o primeiro elemento que aparecer com aquele nome &lt;/p&gt;

&lt;p&gt;&lt;code&gt;linguagens.remove("C++")&lt;br&gt;
print(linguagens)&lt;br&gt;
['Scala','Python', 'SQL', 'R', ['Java', 'C++'], 'Java']&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;percebi que ele deletou o &lt;code&gt;"C++"&lt;/code&gt; que estava fora da lista embutida&lt;/p&gt;

&lt;p&gt;o &lt;code&gt;pop&lt;/code&gt; remove um elemento de acordo com o index, não pelo nome&lt;/p&gt;

&lt;p&gt;&lt;code&gt;linguagens.pop(0)&lt;br&gt;
print(linguagens)&lt;br&gt;
['Python', 'SQL', 'R', ['Java', 'C++'], 'Java']&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;retornou sem o &lt;code&gt;'Scala'&lt;/code&gt; que botamos no &lt;code&gt;insert&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Contar elementos
&lt;/h5&gt;

&lt;p&gt;a função &lt;code&gt;count&lt;/code&gt; conta quantos elementos você tem com aquele nome &lt;/p&gt;

&lt;p&gt;&lt;code&gt;linguagens.count("Java")&lt;br&gt;
1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;de novo, ele não contou o que estava na lista embutida&lt;/p&gt;

&lt;h4&gt;
  
  
  Limpar uma lista
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;linguagens_2.clear&lt;br&gt;
print(linguagens_2)&lt;br&gt;
[ ]&lt;/code&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
      <category>python</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>5 dicas de conteúdo sobre transição de carreira para ciência de dados</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Wed, 12 Jan 2022 17:04:54 +0000</pubDate>
      <link>https://dev.to/sarahsantana/5-dicas-de-conteudo-sobre-transicao-de-carreira-para-ciencia-de-dados-5gdj</link>
      <guid>https://dev.to/sarahsantana/5-dicas-de-conteudo-sobre-transicao-de-carreira-para-ciencia-de-dados-5gdj</guid>
      <description>&lt;p&gt;&lt;em&gt;Uma amiga pediu indicação de conteúdo sobre transição de carreira para Ciência de Dados e decidi reunir tudo que eu gosto em um post.&lt;/em&gt; &lt;/p&gt;




&lt;h4&gt;
  
  
  5 indicações de conteúdo que foram (e ainda são) muito úteis na minha transição
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Artigo no Data Hackers - &lt;strong&gt;Um guia para a transição de carreira na área de dados&lt;/strong&gt; - &lt;a href="https://medium.com/data-hackers/um-guia-para-transi%C3%A7%C3%A3o-de-carreira-na-%C3%A1rea-de-dados-fcfa9b334635" rel="noopener noreferrer"&gt;Leia&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Curso em vídeo da Isabela Rangel - &lt;strong&gt;Como se tornar um analista de dados&lt;/strong&gt; &lt;a href="https://youtu.be/Zht2jD505Oo" rel="noopener noreferrer"&gt; Módulo 1 &lt;/a&gt; e &lt;a href="https://www.youtube.com/watch?v=bDAbL2ZYKw4" rel="noopener noreferrer"&gt;Módulo 2&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Artigo do Marcos Silva - &lt;strong&gt;Como se tornar um cientista de dados&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://medium.com/team-data-stone/como-se-tornar-um-cientista-de-dados-bdda45047be1" rel="noopener noreferrer"&gt;Leia&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Artigo da Mikaeri Ohana - &lt;strong&gt;Como iniciar na carreira de ciência de dados?&lt;/strong&gt; &lt;a href="https://medium.com/@mikaeriohana/como-iniciar-na-carreira-de-ci%C3%AAncia-de-dados-9b37aa525181" rel="noopener noreferrer"&gt;Leia&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Palestra do Mulheres em Dados - &lt;strong&gt;Transição de Carreira para Ciência de Dados&lt;/strong&gt; &lt;a href="https://youtu.be/cGGu0dQdmZM" rel="noopener noreferrer"&gt;Assista aqui&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>career</category>
      <category>datascience</category>
      <category>beginners</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>Python #1 : variáveis e operadores.</title>
      <dc:creator>sarah santana</dc:creator>
      <pubDate>Sun, 09 Jan 2022 18:17:22 +0000</pubDate>
      <link>https://dev.to/sarahsantana/python-1-variaveis-e-operadores-38n3</link>
      <guid>https://dev.to/sarahsantana/python-1-variaveis-e-operadores-38n3</guid>
      <description>&lt;p&gt;&lt;em&gt;Esse post faz parte dos meus cadernos &lt;strong&gt;pessoais&lt;/strong&gt; de estudos. Todas as anotações são baseadas nas aulas da Mentorama - Cientista de Dados do zero e organizadas sob o meu ponto de vista. M2A1A2&lt;/em&gt;. &lt;/p&gt;




&lt;h3&gt;
  
  
  Fundamentos básicos de Python
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. Variáveis
&lt;/h4&gt;

&lt;p&gt;Definição: Espaço em memória que representa algum valor. &lt;br&gt;
O operador de atribuição usado é o &lt;code&gt;=&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Exemplo:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Nome = "Sarah" &lt;br&gt;
Idade = 26 &lt;br&gt;
Altura = 1.75&lt;br&gt;
e_letras = True&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Tipos de variáveis
&lt;/h4&gt;

&lt;p&gt;String = "Sarah" (sempre entre aspas)&lt;br&gt;
Int = 28 (número inteiro)&lt;br&gt;
Float = 1.68 (número decimal)&lt;br&gt;
Boolean = e_letras (True ou False)&lt;/p&gt;

&lt;h5&gt;
  
  
  Verificar a gravação da variável:
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;print(nome)&lt;br&gt;
print(altura)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;ou &lt;/p&gt;

&lt;p&gt;&lt;code&gt;nome, altura&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Combinar texto com a variável na hora do print
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;print("O valor da variável nome é:", nome)&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Para saber o tipo da variável
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;type(nome)&lt;br&gt;
type(idade)&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Para converter os tipos
&lt;/h5&gt;

&lt;p&gt;&lt;strong&gt;Ex: trocar a variável 'idade' que é um int, para float.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;nome do tipo(variável)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;float(idade)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;mas ainda não vou atribuído o tipo &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;atribuir a variável novamente com outro tipo &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;idade = float(idade)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;agora sim converteu!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;pedir o tipo pra confirmar &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;type(idade)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Ex: trocar o boolean para float *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;float(e_letras)&lt;br&gt;
e_letras = float(e_letras&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;true = 1, false = 0 &lt;/p&gt;

&lt;h5&gt;
  
  
  Sobrescrever o valor de uma variável
&lt;/h5&gt;

&lt;p&gt;Pode-se trocar o valor e o tipo. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;atribuir outro valor, normalmente &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;idade = 27&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;OU  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;idade = "vinte e seis"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Obs.: Ficar atenta a mudança de variáveis no meio do processamento do código. &lt;/p&gt;




&lt;h4&gt;
  
  
  2. Operadores
&lt;/h4&gt;

&lt;p&gt;Definição: Combina elementos básicos da linguagem para formar expressões complexos. &lt;/p&gt;

&lt;h5&gt;
  
  
  Tipos de operadores
&lt;/h5&gt;

&lt;p&gt;Aritméticos: cálculos matemáticos&lt;br&gt;
Relacionais: ordem e comparação&lt;br&gt;
Lógicos: expressões lógicas&lt;br&gt;
Atribuição: atribui valor ao objeto&lt;/p&gt;

&lt;p&gt;Exemplo:&lt;/p&gt;

&lt;p&gt;Definindo variáveis para exercício:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;a = 2&lt;br&gt;
b = 5&lt;br&gt;
d = 'para'&lt;br&gt;
e = 'lelepípedo'&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Aritméticos
&lt;/h5&gt;

&lt;p&gt;&lt;strong&gt;Adição numérica&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;print(a + b)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adição strings&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;print (d)&lt;br&gt;
print (e)&lt;br&gt;
print (d+e)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ou seja: o operador &lt;code&gt;+&lt;/code&gt;pra variáveis numéricas, ele vai somar e dar o resultado; para variáveis de texto, ele concatena as palavras. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Subtração *&lt;/em&gt;&lt;br&gt;
&lt;code&gt;print (a-b)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;divisão *&lt;/em&gt;&lt;br&gt;
&lt;code&gt;print (a/b)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;resto da divisão *&lt;/em&gt;&lt;br&gt;
&lt;code&gt;print (a)&lt;br&gt;
print (b)&lt;br&gt;
print (a%b) #resto&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Relacionais
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;==&lt;/code&gt; Testa a igualdade entre as variáveis &lt;/p&gt;

&lt;p&gt;&lt;code&gt;print (a==b)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Obs.: lembrar que Python é case sensitive. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;gt;=&lt;/code&gt; Compara&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;= maior &lt;br&gt;
&amp;lt; = menor &lt;br&gt;
= maior ou igual &lt;br&gt;
&amp;lt;= menor ou igual &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h5&gt;
  
  
  Lógicos
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;and&lt;/code&gt; = VV&lt;br&gt;
&lt;code&gt;or&lt;/code&gt; = VF&lt;br&gt;
&lt;code&gt;not&lt;/code&gt; = FF &lt;/p&gt;

&lt;h5&gt;
  
  
  Atribuição
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;=&lt;/code&gt;  coloca valor &lt;br&gt;
&lt;code&gt;+=&lt;/code&gt; adiciona um valor à variável existente &lt;br&gt;
&lt;code&gt;-=&lt;/code&gt; subtrai um valor à variável existente &lt;br&gt;
&lt;code&gt;*=&lt;/code&gt; multiplica o valor da variável existente &lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
