pessoa = {
'nome': 'Ayrton',
'sobrenome': 'Pontes'
}
# Métodos uteis dos dicionários em Python
# len - quantas chaves
print(len(pessoa))
# keys - interável com as chaves
print(list(pessoa.keys())) # por ser iterável, pode usar com o for
# values - interável com os valores
print(list(pessoa.values())) # por ser iterável, pode usar com o for
# items - iterável com chaves e valores
print(list(pessoa.items()))
# Com o for:
for chave, valor in pessoa.items():
print(chave, valor)
# setdefault - adiciona valor se a chave não existe
pessoa.setdefault('idade', 0)
print(pessoa['idade'])
# copy - retorna uma cópia rasa (shallow copy)
d1 = {
'c1': 2,
'c2': 3
}
d2 = d1 # não faz cópia
d2['c1'] = 100 # afeta d1
print(d1) # {'c1': 100, 'c2': 3}
d2 = d1.copy() # faz uma cópia (rasa -> não funciona pra itens mutaveis dentro de dicionarios)
d2['c1'] = 300
print(d1) # {'c1': 100, 'c2': 3}
print(d2) # {'c1': 300, 'c2': 3}
#agora vamos colocar um item mutavel dentro de um dicionário:
d3 = {
'c1': 2,
'c2': 3,
'l1': [0, 1, 2]
}
d4 = d3.copy() # não consegue fazer uma cópia (só rasa),
# pois há um item mutavel em d3
print(d4) # {'c1': 2, 'c2': 3, 'l1': [0, 1, 2]}
d4['l1'][2] = 150
print(d3) # {'c1': 2, 'c2': 3, 'l1': [0, 1, 150]}
print(d4) # {'c1': 2, 'c2': 3, 'l1': [0, 1, 150]}
# caso queira fazer uma deep copy (cópia mesmo com itens mutáveis),
# usar a biblioteca copy
import copy
d3 = {
'c1': 2,
'c2': 3,
'l1': [0, 1, 2]
}
d4 = copy.deepcopy(d3) #cópia real (deep copy) de dicionario com itens
# mutáveis
d4['l1'][2] = 150
print(d3) # {'c1': 2, 'c2': 3, 'l1': [0, 1, 2]}
print(d4) # {'c1': 2, 'c2': 3, 'l1': [0, 1, 150]}
# get - obtém uma chave
p1 = {
'nome': 'Ayrton',
'sobrenome': 'Pontes'
}
print(p1.get('nome')) # Ayrton
print(p1.get('idade', 0)) # 0 (retorna o 0 em caso de exceção)
# pop - apaga um item com a chave específica (del)
nome = p1.pop('nome') # apaga, mas pode colcoar na memoria em uma
# variavel
print(nome)
print(p1)
# popitem - apaga o último item adicionado
sobrenome = p1.popitem()
print(sobrenome) # ('sobrenome', 'Pontes')
print(p1) #{}
# update - atualiza um dicionario com outro
p1.update({
'nome': 'novo valor',
'idade': 34
})
print(p1) # {'nome': 'novo valor', 'idade': 34}
tupla = ('sobrenome', 'Pontes'), ('peso', 80) # poderia ser uma lista tbm
p1.update(tupla)
print(p1) # {'nome': 'novo valor', 'idade': 34, 'sobrenome': 'Pontes', 'peso': 80}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.