Python Data Science - Primeiros Passos - Alura
Python Data Science - Primeiros Passos - Alura
Primeiros Passos
SUMÁRIO
OLÁ, ESTUDANTE! 03
1 INTRODUÇÃO 04
1.1 Python 04
1.2 Google Colaboratoy 04
2 COMANDOS BÁSICOS 05
2.1 Comentários 05
2.2 print() 05
2.3 As variáveis 06
2.3.1 A criação 06
2.3.2 Tipos de variáveis 06
2.3.3 Operações com valores numéricos 07
2.4 Manipulação de strings 07
2.5 input() 09
2.5.1 Formatando a saída 10
2.5.1.1 Casas decimais 11
2.5.1.2 Caracteres especiais 11
3 ESTRUTURAS DE CONTROLE 13
3.1 Estruturas condicionais 13
3.1.1 Operadores em condicionais 14
3.1.2 Operador Ternário 14
3.2 Estruturas de repetição 15
3.2.1 Comandos relacionados aos laços 16
4 ESTRUTURA DE DADOS 17
4.1 Listas 17
4.1.1 Métodos com listas 18
4.2 Dicionários 19
4.2.1 Métodos com dicionários 20
CHEGAMOS AO FIM 22
OLÁ, ESTUDANTE!
Como você já sabe, Python é uma das linguagens mais populares e versáteis
para a área de Data Science e análise de dados. Nesta apostila, nós cobrimos
todos os aspectos fundamentais desta linguagem abordados no curso,
incluindo sua sintaxe, estruturas de controle e dados estruturados.
Fizemos um esforço para que você tenha tudo o que aprendeu em um único
documento - e adicionamos um pouco mais. Cada tópico é acompanhado de
exemplos claros e fáceis de seguir para que você possa consolidar seus con-
hecimentos.
Boa leitura!
● Python é usada em uma ampla gama
de aplicações, incluindo ciência de
4
de várias linhas.
'''
'''
Esse é um comentário
5
para variáveis podem ser encontradas na
2.3 As variáveis documentação.
6
type(variavel) ● Função round: retorna o número
arredondado com uma precisão
definida n casas decimais após o
Como exemplo, é possível encontrar ponto decimal. Se não especificarmos
a definição de todos os tipos de variáveis as casas, será retornado o inteiro mais
que criamos. próximo do ponto flutuante.
○ Sintaxe: round(variavel,
print(type(inteiro)) numero_de_casas)
print(type(ponto_flutuante)) ○ Exemplo:
print(type(string))
print(type(booleano)) round(14.3213,2)
''' Saída: ## Saída
<class 'int'> # 14.32
<class 'float'>
<class 'str'> ● Função pow: retorna a potenciação de
<class 'bool'> uma base por seu exponente,
funciona do mesmo modo que o
'''
operador **.
○ Sintaxe: pow(base, expoente)
2.3.3 Operações com ○ Exemplo:
7
novas strings. O operador de soma, É possível trabalhar com diversos
permite unir duas ou mais strings e gerar métodos em strings. Métodos são funções
uma string única. Exemplo: que são associadas a objetos em Python.
Eles são usados para, de maneira fácil e
ola = 'Olá ' consistente, realizar ações ou operações
mundo = 'mundo!!' em um objeto e para obter informações
sobre o objeto. Por essa razão, os métodos
frase = ola+mundo
são uma parte importante da programação
print(frase) em Python.
8
○ Saída: 'o Tato Toeu a Toupa
do Tei de Roma'
2.5 input()
● string.find(dado): retorna o índice A função input() permite a quem
da primeira ocorrência de um texto em programa receber dados da pessoa
na string. Exemplo, vamos encontrar o usuária. É usado para ler e retornar uma
local da primeira aparição de 't' com, entrada digitada pelo usuário como string.
string.find('t'). A sintaxe da função input é a seguinte:
○ Saída: 4
● string.strip(): retorna uma cópia
input('string opcional')
da string original sem espaços
desnecessários no início e no final.
Com o texto, ' Olá! ', podemos A string opcional é exibida para o
aplicar o strip e obteremos a seguinte usuário na tela antes da entrada de dados.
saída: É uma boa prática incluir ela para orientar
○ Saída: 'Olá!' o usuário sobre o que ele deve digitar.
● string.title(): retorna uma cópia Como exemplo, podemos coletar um dado
da string original com a primeira letra de texto e mostrá-lo ao usuário com print.
de cada palavra em maiúsculas.
○ Saída: 'O Rato Roeu A Roupa nome = input('Digite seu nome:
Do Rei De Roma' ')
● string.count(string): retorna o print('Seu nome é:', nome)
número de vezes que um determinado
valor aparece na string original.
## Saída:
Exemplo: string.count('r').
○ Saída: 4 #Digite seu nome: Mirla
● string.isupper(): retorna True se #Seu nome é: Mirla
todas as letras na string original
estiverem em maiúsculas. A variável nome é uma string, pois a
○ Saída: False função input apenas retorna strings. Para
● string.islower(): retorna True se receber outros valores é necessário fazer
todas as letras na string original a conversão de valores com as funções de
estiverem em minúsculas. conversão:
○ Saída: False
● int(dado): converte o dado para o
Lembrando que todos esses tipo inteiro.
métodos retornam novos valores, não ● float(dado): converte o dado para o
alteram a string original. Para ser feita a tipo ponto flutuante (float).
alteração é preciso atribuir o resultado do ● str(dado): converte o dado para o
método na mesma string. Por exemplo: tipo string.
● bool(dado): converte o dado para o
string = 'o rato roeu a roupa do tipo booleano.
rei de Roma'
Desse modo, podemos receber os
print(string)
dados em strings e transformá-los para o
## 1° Saída: o rato roeu a roupa tipo de dado que precisamos. Como
do rei de Roma exemplo, vamos construir um algoritmo
somador:
string = string.capitalize()
print(string) # Nesse código vamos somar dois
## 2° Saída: O rato roeu a roupa números inteiros
do rei de roma # A função int vai converter a
saída de input para um valor
inteiro
9
num_1 = int(input('Digite o caractere %c
primeiro número: '))
A sintaxe consiste na adição no
num_2 = int(input('Digite o operador ao ponto desejado do texto.
segundo número: ')) Finalizada a escrita do texto que se deseja
soma = num_1 + num_2 exibir, o símbolo % é adicionado, com a
especificação da variável entre
print('Resultado da soma:',soma) parênteses. Exemplo:
10
media_aluno = 8.45 decimais
print('Nome do aluno é {}, ele {:.2f}'.format(ponto_flutuante))
tem {} anos e sua média é {}.'
.format(nome_aluno, idade_aluno, ## Saída:
media_aluno)) # Limitando as casas decimais
23.46
## Saída: Nome do aluno é
Fabricio Daniel, ele tem 15 anos 2.5.1.2 Caracteres especiais
e sua média é 8.45.
Caracteres especiais são usados
para representar ações especiais ou
2.5.1.1 Casas decimais caracteres que não podem ser digitados
diretamente, como o Enter e a tabulação.
Quando trabalhamos com pontos
flutuantes (float), podemos determinar a ● '\n' é o caractere de nova linha,
quantidade de casas decimais após a usado para pular uma linha no texto
vírgula em todas as formatações de saída (função do Enter). Exemplo:
de texto.
11
print("Caminho do arquivo:
C:\\arquivos\\documento.csv")
## Saída:
# Caminho do arquivo:
C:\arquivos\documento.csv
## Saída:
# Ouvi uma vez "Os frutos do
conhecimento são os mais doces
e duradouros de todos."
## Saída:
# Minha professora uma vez
disse: 'Estudar é a chave do
sucesso.'
12
verdadeira (False). A sintaxe para usar o
else é:
3 ESTRUTURAS if condição:
# código caso seja verdade
DE CONTROLE else:
# código caso seja falso
Entre as estruturas de controle estão
as estruturas condicionais e as estruturas
Podemos montar um exemplo que
de repetição. identifica se um dado número é maior ou
menor que 5:
3.1 Estruturas
condicionais num = int(input('Digite um
número: '))
Nas estruturas condicionais temos o if num>5:
if, o else e o elif. print('O número é maior que
O if é uma palavra-chave em 5')
Python que significa “se”. Ele é usado para else:
formar uma estrutura condicional, que print('O número é menor que
permite que você verifique se uma 5')
determinada condição é verdadeira ou
falsa e, em seguida, executa um bloco de
## Saída:
código específico, se a verificação for
verdadeira. A sintaxe para usar o if é: # Digite um número: 3
# O número é menor que 5
if condição:
# faça algo Por fim, temos o elif, uma palavra-
chave em Python que significa "senão, se"
e pode ser considerado uma união do else
Podemos montar um exemplo que
com o if. Ela é usada em conjunto com a
identifica se um dado número é maior que
palavra-chave if para formar uma
5:
estrutura condicional encadeada. Sua
sintaxe é dada pela seguinte estrutura:
num = int(input('Digite um
número: ')) if condição1:
if num>5: # faça algo
print('O número é maior que elif condição2:
5') # faça outra coisa
elif condição3:
## Saída: # faça mais alguma coisa
# Digite um número: 8
# O número é maior que 5 O elif permite encadear condições.
Se a primeira condição for avaliada como
Já o else é uma estrutura opcional False, o interpretador Python avaliará a
usada em conjunto com o if para formar próxima condição no elif, e assim por
uma estrutura condicional. O else é uma diante. Isso continuará até que uma
palavra-chave para “senão” e é executado condição seja avaliada como True, ou
quando a condição especificada na nenhuma das condições sejam
estrutura condicional anterior não for verdadeiras e sejam ignorados os blocos
de código.
13
Um exemplo de código com elif é a ● Diferente de (!=): verifica se duas
estrutura para verificar, dados dois expressões são diferentes.
números, qual é o maior entre eles ou se
ambos são iguais: Estes operadores retornam um valor
booleano (True ou False) baseado na
# Coletar os números comparação entre os valores ou
expressões.
num1 = float(input('Digite o 1°
número: ')) Os operadores lógicos são
num2 = float(input('Digite o 2° símbolos utilizados para realizar
número: ')) operações lógicas, entre valores, podendo
retornar True ou False. Os operadores
lógicos são: and, or e not. De modo que,
# Comparamos ambos os números e
descobrimos qual é o maior ● and retorna verdadeiro se ambas as
if num1 > num2: expressões lógicas forem verdadeiras;
print(f'O primeiro número é ● or retorna verdadeiro se pelo menos
maior: {num1}') uma das expressões lógicas for
verdadeira; e
elif num2 > num1:
● not inverte o valor lógico da
print(f'O segundo número é expressão, ou seja, se a expressão
maior: {num2}') era True, ele retorna False, e vice-
else: # Caso os números sejam versa.
iguais
print('Os dois números são 3.1.2 Operador Ternário
iguais.')
Podemos compactar o resultado de
uma condição if-else em uma única linha.
3.1.1 Operadores em É uma alternativa útil para codificação mais
simples e clara, especialmente quando se
condicionais trata de uma condição simples. A sintaxe
do operador ternário é a seguinte:
Para formar uma expressão lógica
podemos fazer o uso de operadores
valor_caso_verdade if condição
relacionais e operadores lógicos.
else valor_caso_falso
Os operadores relacionais são
símbolos utilizados com objetivo de Seu funcionamento se dá de modo
comparar valores ou expressões e verificar que a condição é avaliada e, se for
a relação entre eles. Vejamos alguns verdadeira, o valor_caso_verdade é
deles: retornado, caso contrário, o
valor_caso_falso é retornado. Em
● Maior que (>): verifica se a primeira
outras palavras, é uma forma de atribuir
expressão é maior que a segunda.
valores a variáveis com base em uma
● Menor que (<): verifica se a primeira
condição.
expressão é menor que a segunda.
● Maior ou igual a (>=): verifica se a Um exemplo simples é a verificação
primeira expressão é maior ou igual à se um número é positivo ou negativo.
segunda.
● Menor ou igual a (<=): verifica se a num = -5
primeira expressão é menor ou igual à
segunda. resultado = 'positivo' if num >=
● Igual a (==): verifica se duas 0 else 'negativo'
expressões são iguais. print(resultado)
14
## Saída: # a cada iteração
# negativo contadora += 1
print(contadora)
Entendendo o código: o operador
ternário testa a condição num >= 0, se for ## Saída:
verdadeira, o valor de 'positivo' é # 1
atribuído a resultado, caso contrário, o # 2
valor de 'negativo' é atribuído a
# 3
resultado.
# 4
3.2 Estruturas de # 5
# 6
repetição # 7
# 8
Nas estruturas de repetição temos o
while e o for. # 9
# 10
O while é uma palavra-chave em
Python que significa “enquanto”. Ela O incremento de contadora é dado
permite executar um bloco de código
por um operador de atribuição +=. Em
repetidamente enquanto uma determinada
Python temos vários tipos de operadores
condição é verdadeira. Sua sintaxe é dada
de atribuição como pode ser observado na
da seguinte forma:
tabela abaixo:
while condição: Sintaxe do
Descrição
# bloco de código operador
a = b Atribui o valor de b em a
O bloco de código dentro do laço a += b Soma o valor de b na
while será executado repetidamente variável a
enquanto a condição for avaliada como a -= b Subtrai o valor de b na
True. Quando a condição for avaliada variável a
como False, o laço será interrompido e o a *= b Multiplica o valor de b por a
programa continuará a executar o código a /= b Divide o valor de b por a
depois do laço.
a //= b Realiza divisão inteira da
variável b por a
Um exemplo muito comum de uso do
while é construindo um contador, um a %= b O resto da divisão de b por
projeto que permite uma variável numérica a é atribuído à a
ser incrementada 1 a 1, como uma Enquanto isso, o laço for permite
contagem. Vamos fazer o contador de 1 a
iterar sobre um conjunto de elementos. A
10:
sua sintaxe é dada da seguinte forma:
# inicializamos a variável
for elemento in conjunto:
contadora em 1
# código a ser executado para
# essa variável será
cada elemento
incrementada
contadora = 0
O for é uma palavra chave para
# o while irá repetir enquanto a “por” e podemos entender sua estrutura
# contadora não for maior que 10 como “por cada elemento em um dado
while contadora < 10: conjunto faça…”. Isso porque ele itera
# incrementamos seu valor em 1 sobre cada elemento do conjunto
15
especificado e executa o bloco de código
dentro do laço para cada elemento.
3.2.1 Comandos
Quando o laço chega ao final do
relacionados aos laços
conjunto, ele é interrompido e o programa Conseguimos controlar o fluxo de
continua a execução após o laço. execuções dentro do bloco de código dos
laços while e for através dos comandos
Podemos também construir uma
de controle continue e break.
contadora com for, mas para isso
precisamos de um conjunto iterável que O continue interrompe a iteração
possa ser utilizado nele. Pensando nisso, atual do laço e salta para a próxima
utilizaremos a função range. iteração, ou seja, retorna ao início do
código. Já o break vai interromper a
A função range é capaz de gerar
execução do laço completamente, saindo
uma sequência de números inteiros. A sua
do bloco de código.
sintaxe é dada por:
Segundo a documentação, ao
range() gera uma sequência de números
inteiros a partir do valor do parâmetro
inicio até o valor do parâmetro fim, de
acordo com o valor do parâmetro passo.
Se inicio não for especificado, o valor
padrão é 0. Se passo não for especificado,
o valor padrão é 1.
## Saída:
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10
16
É possível selecionar
separadamente os elementos de uma lista
colocando seus índices.
4 ESTRUTURA lista = ['Daniel',2310.30,
DE DADOS 24,True]
# com índices positivos
print(lista[0],lista[1],lista[2]
4.1 Listas ,lista[3])
Listas são sequências mutáveis, # com índices negativos
normalmente usadas para armazenar print(lista[-4],lista[-
coleções de itens. 3],lista[-2],lista[-1])
Podemos agrupar um conjunto de
dados com as listas de maneira ordenada. ## Saída:
Para criar uma lista com valores, são # Daniel 2310.3 24 True
colocados os dados entre colchetes ([]) # Daniel 2310.3 24 True
separados por vírgulas.
17
# True 4.1.1 Métodos com listas
É possível observar que o bloco de Listas oferecem muitas funções e
código para ler uma lista com while é métodos úteis para manipular os itens
muito maior que com for. Por isso, quando armazenados, como adicionar, remover,
trabalhamos com estruturas de dados, é classificar e pesquisar elementos.
preferível utilizar o laço for. Então vamos verificar alguns
Além disso, podemos usar as métodos com listas. Considerando que
mesmas funções e métodos utilizados em “lista” é o seguinte conjunto de dados:
variáveis únicas como strings, inteiros,
floats, etc nos elementos da lista. Mas é lista = ['Osman Presley', 13,
preciso que o elemento manipulado seja 8.5, 8.5]
do tipo de variável que permite a aplicação
das funções e métodos. Vejamos alguns métodos que
conseguimos utilizar com qualquer variável
Por exemplo, é possível deixar o
do tipo list (lista):
elemento 'Daniel', uma string, em
maiúsculas com o método upper(): ● append: adiciona um elemento ao final
da lista.
lista = ['Daniel',2310.30, ○ Exemplo: lista.append(4.5), a
24,True] lista agora é ['Osman Presley',
13, 8.5, 8.5, 4.5].
print(lista[0].upper()) ● clear: remove todos os elementos da
lista.
○ Exemplo: lista.clear(), a lista
## Saída:
agora é [].
# DANIEL ● copy: faz uma cópia da lista.
○ Exemplo: nova_lista =
Conseguimos também substituir lista.copy(), nova_lista
elementos, além de manipulá-los. Para agora é ['Osman Presley', 13,
isso, especificamos o índice do elemento a 8.5, 8.5, 4.5] e é uma cópia
ser substituído e atribuímos o novo dado independente de lista.
com o operador de atribuição. Podemos ● count: conta quantas vezes um
então substituir a string 'Daniel' por sua elemento aparece na lista.
correspondente em maiúscula ('DANIEL'): ○ Exemplo: lista.count(8.5),
retorna 2.
lista = ['Daniel',2310.30, ● extend: adiciona os elementos de
24,True] uma lista ao final da lista atual.
print(lista) ○ Exemplo:
lista.extend(['manhã','tard
e']), a lista agora é ['Osman
lista[0] = lista[0].upper() Presley', 13, 8.5, 8.5,
print(lista) 'manhã', 'tarde'].
● index: retorna o índice do primeiro
## Saída: elemento com o valor especificado.
# ['Daniel', 2310.3, 24, True] ○ Exemplo: lista.index(13),
# ['DANIEL', 2310.3, 24, True] retorna 1.
● insert: adiciona um elemento em
uma posição específica da lista.
○ Exemplo: lista.insert(2,
4.5), a lista agora é ['Osman
18
Presley', 13, 4.5, 8.5,
8.5].
## Saída:
● pop: remove e retorna o elemento na
posição especificada (ou na última # ['C', 'D', 'E', 'F']
posição se não for fornecida uma
posição). Com letras[2:6], é acessado os
○ Exemplo: lista.pop(1), retorna elementos da lista letras de índice 2 até
13 e a lista agora é ['Osman o índice 5, ou seja, os elementos ['C',
Presley', 8.5, 8.5]. 'D', 'E', 'F'].
● remove: remove o primeiro elemento
com o valor especificado.
○ Exemplo: lista.remove(8.5), a
lista agora é ['Osman Presley',
13, 8.5].
● reverse: inverte a ordem dos 4.2 Dicionários
elementos na lista.
○ Exemplo: lista.reverse(), a Os dicionários são um tipo de
lista agora é [8.5, 8.5, 13, estrutura de dados que armazenam pares
'Osman Presley']. de chave-valor. Eles são delimitados por
chaves {} e os pares chave-valor são
Há também o método sort que separados por vírgulas, como mostra a
ordena os elementos na lista. Mas como sintaxe:
nossa lista não é unicamente numérica,
não é possível utilizar esse método, pois dicionario = {chave: valor}
ele ordenará apenas valores numéricos ou
apenas valores textuais. A chave é um elemento único que
identifica um valor no dicionário, enquanto
Uma função bastante utilizada com
o valor é o item que é armazenado para a
listas é a len(), que retorna a quantidade
chave. As chaves e os valores podem ser
de elementos dentro delas:
de qualquer tipo de dado.
idades = [23,15,37,43,90,53] Os dicionários são úteis para
print(len(idades)) armazenar e acessar dados de maneira
organizada e rápida, além de permitirem
## Saída: uma organização mais dinâmica.
# 8 Um exemplo é construir uma ficha de
cadastro de uma pessoa funcionária em
Além dela também existe a estrutura uma empresa.
de partição: uma maneira de acessar um
subconjunto de elementos de uma lista. cadastro = {'numero_cadastro':
Podemos fazer isso através da estrutura 130089,
de partição por índices. 'dia_cadastro': 3,
O operador de partição de lista é 'mes_cadastro': 2,
representado pelos colchetes ([]) e 'funcao': 'limpeza'}
permite que você especifique um intervalo cadastro
de índices separados por dois pontos (:) ## Saída:
para acessar os elementos desejados. # {'número_cadastro': 130089,
# 'dia_cadastro': 3,
letras =
# 'mes_cadastro': 2,
['A','B','C','D','E','F','G']
# 'funcao': 'limpeza'}
print(letras[2:6])
19
Acessamos os valores de cada
elemento especificando sua chave
4.2.1 Métodos com
correspondente: dicionários
cadastro = {'numero_cadastro': Assim como as listas, os dicionários
130089, também oferecem muitas funções e
'dia_cadastro': 3, métodos úteis para manipular seus itens.
'mes_cadastro': 2, Então, vamos verificar alguns
'funcao': 'limpeza'} métodos com listas, considerando que
print(cadastro['numero_cadastro' “dici” é o seguinte conjunto de dados:
],cadastro['dia_cadastro'],cadas
tro['mes_cadastro'],cadastro['fu dici = {'nome': 'Osman',
ncao']) 'idade': 13,
'nota_1': 8.5,
## Saída: 'nota_2': 8.5}
# 130089 3 2 limpeza
Vejamos alguns métodos que
conseguimos utilizar com qualquer variável
Podemos alterar o valor de cada
do tipo dict (dicionário):
chave especificando a chave do elemento
que será modificado e atribuindo o novo ● clear: remove todos os itens de um
dado com o operador de atribuição. Vamos dicionário.
trocar a função de limpeza para ○ Exemplo: dici.clear() a lista
manutenção: agora é {}.
● copy: retorna uma cópia do dicionário.
cadastro = {'numero_cadastro': ○ Exemplo: novo_dicionario =
130089, dici.copy(), novo_dicionario
'dia_cadastro': 3, agora é {'nome': 'Osman',
'mes_cadastro': 2, 'idade': 13, 'nota_1': 8.5,
'funcao': 'limpeza'} 'nota_2': 8.5} e é uma cópia
print(cadastro) independente de dici.
● dict.fromkeys: cria um novo
cadastro['funcao'] =
dicionário com chaves fornecidas por
'manutenção' um iterável e todos os valores
print(cadastro) definidos como o valor padrão
fornecido.
## Saída: ○ Exemplo: novas_notas =
# {'numero_cadastro': 130089, dict.fromkeys(['nota_1',
'nota_2'], 8.0), novas_notas
'dia_cadastro': 3,
é {'nota_1': 8.0, 'nota_2':
'mes_cadastro': 2, 'funcao': 8.0}.
'limpeza'} ● get: retorna o valor associado a uma
# {'numero_cadastro': 130089, chave específica no dicionário.
'dia_cadastro': 3, ○ Exemplo: dici.get('idade'),
'mes_cadastro': 2, 'funcao': retorna 13.
'manutenção'} ● items: retorna uma lista de tuplas que
representam os itens do dicionário
(chave e valor).
○ Exemplo: dici.items(), retorna
[('nome', 'Osman'),
('idade', 13), ('nota_1',
8.5), ('nota_2', 8.5)].
20
● keys: retorna uma lista de todas as 'nota_2': 8.5}
chaves do dicionário.
○ Exemplo: dici.keys(), retorna
['nome', 'idade', 'nota_1', # Leitura com keys
'nota_2']. for chaves in dici.keys():
● pop: remove e retorna o valor print(dici[chaves])
associado a uma chave específica no ## Saída
dicionário. # Osman
○ Exemplo: dici.pop('nome'), # 13
retorna 'Osman' e o dicionário
# 8.5
sem a chave 'nome'.
● popitem: remove e retorna um item # 8.5
aleatório do dicionário.
○ Exemplo: dici.popitem() #Leitura com values
● setdefault: retorna o valor for valores in dici.values():
associado a uma chave específica no print(valores)
dicionário. Se a chave não existir, ela ## Saída
é adicionada ao dicionário com o valor
padrão fornecido. # Osman
○ Exemplo: # 13
dici.setdefault('nome'), # 8.5
retorna 'Osman'; # 8.5
dici.setdefault('nota_3',4.
5) o dicionário será {'nome': # Leitura com items
'Osman', 'idade': 13,
for chaves, valores in
'nota_1': 8.5, 'nota_2':
8.5, 'nota_3': 4.5}. dici.items():
● update: adiciona os itens de um outro print(chaves, valores)
dicionário para o dicionário atual e ## Saída
atualiza pares chave-valor existentes. # nome Osman
○ Exemplo: # idade 13
dici.update({'nota_3': 4.5,
# nota_1 8.5
'sobrenome': 'Presley'}), o
# nota_2 8.5
dicionário agora é {'nome':
'Osman', 'idade': 13,
'nota_1': 8.5, 'nota_2':
8.5, 'nota_3': 4.5,
'sobrenome': 'Presley'}.
● values: retorna uma lista de todos os
valores do dicionário.
○ Exemplo: dici.values(),
retorna ['Osman', 13, 8.5,
8.5].
21
CHEGAMOS AO FIM
Espero que você consiga ter um bom proveito das informações coloca-
das aqui e que elas consigam te ajudar em seus estudos em Python e
Data Science!
Bons estudos!