Skip to content

Instantly share code, notes, and snippets.

@victorjabur
Created August 22, 2016 00:28
Show Gist options
  • Save victorjabur/97163ed673ab8c97f6cc7863875e355f to your computer and use it in GitHub Desktop.
Save victorjabur/97163ed673ab8c97f6cc7863875e355f to your computer and use it in GitHub Desktop.
Python - Explorando Dicionários
# Criando um dicionario vazio
nomes = {}
nomes = dict()
nomes = dict.fromkeys([1,2,3,4,5])
# Criando um dicionario vazio e colocando 3 elementos
funcionarios = {}
funcionarios['victor'] = 'arquitetura'
funcionarios['bolela'] = 'integracao'
funcionarios['juliana'] = 'bi'
funcionarios['chiun'] = 'causas_impossiveis'
print(funcionarios)
# {'juliana': 'bi', 'chiun': 'causas_impossiveis', 'victor': 'arquitetura', 'bolela': 'integracao'}
# Buscando por um registro
print(funcionarios['juliana']) # Imprime bi
print(funcionarios['jorge']) # KeyError: 'jorge'
print(funcionarios.get('jorge')) # Imprime None (busca sem erro)
# Iterando dicionarios
# O metodo padrao itera sempre a key
for chave in funcionarios:
print(chave)
# Iterando explicitamente por chaves
for chave in funcionarios.keys():
print(chave)
# Iterando por valores
for valor in funcionarios.values():
print(valor)
# Iterando por chaves ordenadas
for chave in sorted(funcionarios.keys()):
print(chave)
# Pegando os itens de um dict
# Note que o resultado é uma lista de tuplas com chaves e valores
print(funcionarios.items())
# dict_items([('juliana', 'bi'), ('victor', 'arquitetura'), ('bolela', 'integracao'), ('chiun', 'causas_impossiveis')])
# iterando por chave e valor ao memso tempo
for chave, valor in funcionarios.items():
print('chave = %s, valor = %s' % (chave, valor))
# chave = bolela, valor = integracao
# chave = victor, valor = arquitetura
# chave = juliana, valor = bi
# chave = chiun, valor = causas_impossiveis
# Deletando um item do dict
del funcionarios['victor']
# Alterando um elemento da lista
funcionarios['victor'] = 'cio'
# Contando os nomes de uma lista e guardando em um dict
counts = dict()
names = ['csev', 'cwen', 'csev', 'zqian', 'cwen']
for name in names :
if name not in counts:
counts[name] = 1
else :
counts[name] = counts[name] + 1
print(counts)
# Simplificando o codigo de cima com o get
counts = dict()
names = ['csev', 'cwen', 'csev', 'zqian', 'cwen']
for name in names :
counts[name] = counts.get(name, 0) + 1
print(counts)
# Fazendo copia
copia_funcs = funcionarios.copy()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment