Esse post faz parte dos meus cadernos pessoais 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.
Estrutura de Dados em Python
Definição: Coleções de dados com características específicas
Dicionários
Mutáveis, conceito chave-valor.
O dicionário coleciona pares de elementos. Sempre haverá uma chave e seu valor correspondente.
Criando um dicionário
dicionario = {}
dicionario
{}
type(dicionario)
dict
Também dá pra criar usando a função dict
igual fizemos com a função tuple
A inspiração é a mesma de um dicionário comum:
dict_en_pt = {"data science" : "ciência de dados",
"machine learning" : "aprendizado de máquina",
"deep learning" : "aprendizado profundo"}
Pareando chave-valor
O dicionário é apresentado entre colchetes { }
Primeiro se insere a chave, dois pontos, e o valor.
Ex.: notas_prova1 = {"Joao":10,"Maria":7.5, "Pedro":6}
As chaves sempre são únicas. Imagine que ao abrir um dicionário, você não encontra a mesma palavra duas vezes.
Sendo assim, quando você atribui um novo valor à uma variável, o Python vai *sobrescrever * a chave já existente.
notas_prova1["Joao"] = 9
notas_prova1
{'Joao': 9, 'Maria': 7.5, 'Pedro': 6}
Você não adicionou outro "João" e sim mudou a nota de 10 pra 9.
Criando uma nova chave
notas_prova1["Mariana"] = 8.7
não tem nenhuma chave Mariana, então ela será criada automaticamente
Funções do dicionário
Função: update
notas_prova1.update({"Joaquin":7.7})
como não tinha nenhum Joaquin, a chave foi criada e não sobrescrita.
Para contar os elementos, usamos len
igual nas outras estruturas, porém um elemento no dicionário é um par chave-valor, então ele retornará o número de pares.
len(notas_prova1)
5
Acessar um valor
- via chave
notas_prova1{"Joao"} 9
ou via função get
notas_prova1.get("Joao")
9
- via indexação a indexação é pela chave e não pela posição como nas listas
notas_prova1[0]
KeyError: 0
Alterar um valor
Mudar o valor da chave. Ex:
notas_prova1["Pedro] = 6.5
O valor pode ser de vários tipos, por exemplo, uma lista de notas daquele aluno. Não somente uma nota, como anteriormente.
notas_provas={"Joao": [9, 9.5], "Maria": [7.5, 8], "Pedro": [6.5, 6], "Mariana": [8.7, 9]
- valores com tipos diferentes
dic_formulario = {"nome": "Joao", "idade" : 18, "nota_1" :9}
- chaves de tipos diferentes
dic_chavesvariostipos ={ "Nome":"Joao", 1: True, 2: 9.5}
FUNÇÕES BÁSICAS PARA DICIONÁRIOS
get
: acessar
keys
: mostra todas as chaves do dicionário
values
: mostra todas os valores
itens
: mostra todos os pares chave-valor
pop
: remove o par de acordo com a chave
update
: cria ou altera uma chave
clear
: apaga valores de um dicionário
Função ZIP
Essa função pega o primeiro elemento da lista A e pareia com o primeiro da lista B.
lista_nomes = ["Maria", "Joao", "Pedro", "Mariana"]
lista_notas = [ 7.5,9,6.5,8.7]
print(lista_nomes)
['Maria', 'Joao', 'Pedro', 'Mariana']
print(lista_notas)
[7.5, 9, 6.5, 8.7]
cria-se uma lista com tuplas:
lista_pares = list(zip(lista_nomes, lista_notas)) ; lista_pares
[('Maria', 7.5), ('Joao', 9), ('Pedro', 6.5), ('Mariana', 8.7)]
e agora transforma essa lista em dicionário:
dict(lista_pares)
{'Maria': 7.5, 'Joao': 9, 'Pedro': 6.5, 'Mariana': 8.7}
Top comments (0)