Para criar um dicionário, a sintaxe é:
d = {'fruta': 'goiaba', 'dia': 'sabado', 'nome': 'maria'}Um jeito diferente de criar o mesmo dicionário é usando o construtor dict(), assim:
d = dict([('fruta', 'goiaba'), ('dia', 'sabado'), ('nome', 'maria')])Esse jeito junta tudo, faz uma salada. rsrs
Explicando: O dict() recebe como parâmetro uma lista (que é tudo entre os colchetes) contendo tuplas com pares de chave e valor (o que está dentro dentro de cada um dos 3 parênteses internos). Assim fica confuso, né?
Obs.: se você ainda não sabe o que é uma lista ou uma tupla, sugiro ler urgentemente o post Por Onde Começar? aqui nesse blog.
Como todo bom programador, é bom saber uma forma mais prática e intuitiva de fazer as coisas. Então vamos à ela.
O jeito mais simples é usando o recurso de keyword argument. Veja como fica mais fácil de entender:
d = dict(fruta='goiaba', dia='sabado', nome='maria')
Bem melhor, né? :-)
Desse jeito, as chaves são passadas como argumentos nomeados para o constructor dict(), que faz o tratamento adequado e constrói nosso dicionário.
Note que dessa forma só podemos criar chaves que não sejam iniciadas com números, uma vez que os nomes de argumentos devem seguir a sintaxe do python.
Portanto, tentar criar um dicionário com uma das chaves abaixo é inválido:
d = dict(1='goiaba', 2='sabado', 3='maria')
d = dict('1'='goiaba', '2'='sabado', '3'='maria')
d = dict(1a='goiaba', 2b='sabado', 3c='maria')
d = dict('1a'='goiaba', '2b'='sabado', '3c'='maria')Aí a gente volta e usa a sintaxe convencional, de uma das duas formas abaixo:
d = {1: 'goiaba', 2: 'sabado', 3: 'maria'}
d = {'1a': 'goiaba', '2b': 'sabado', '3c': 'maria'}No entanto, vale atentar para uma "pegadinha" desse método usando o dict(). Vamos a ela.
Suponha que você tenha uma variável
chave = 'nome'.Se você criar o dicionário assim:
d = dict(fruta='goiaba', dia='sabado', chave='maria')você não terá uma chave 'nome', como seria de se esperar. Faça o teste no shell do python e veja o resultado.
Para ter a chave 'nome', crie seu dicionário assim:
d = {'fruta':'goiaba', 'dia':'sabado', chave:'maria'}Fica aí a dica para nós, iniciantes.
Olá! Eu, pessoalmente, acho melhor usar a sintaxe de chaves (curly brackets) com indentação:
ResponderExcluird = {
'fruta':'goiaba',
'dia':'sabado',
'nome':'maria'
}
Acho que assim fica fácil de ver qual chave (key) vai com qual valor e dá pra usar qualquer tipo de chave (key).
Olá Kao.
ResponderExcluirRealmente a identação muda tudo, né?
A intenção foi mostrar formas alternativas de criar um dicionário.
Essa forma "mais prática" que coloquei é porque quase sempre as chaves dos dicionários serão alfanuméricas mesmo e eu acho bem chato ficar digitando essas aspas antes e depois dos nomes das chaves.
Mas tem coisa que é de gosto pessoal mesmo.
Obrigado pela contribuição.
Bom dia, eu já programo em PHP, estou começando o estudo do Python, por eu já programar em PHP vocês acham que vou ter facilidade ou dificuldade para aprender Python?
ResponderExcluirJá ia me esquecendo, meu principal objetivo em aprender Python, é usá-lo no desenvolvimento de aplicativos para web.
ResponderExcluirRapaz, vc está na mesma situação que eu.
ResponderExcluirDá uma lida nesse post que escrevi no meu blog pessoal, que fala sobre desenvolvimento em geral: http://viniciusban.blogspot.com/2009/05/linguagem-ou-framework.html
Se você quer desenvolver para web, dá uma olhada no Django.
Tenho um post aqui no meu blog com o título Aprendendo Django no Planeta Terra.
Mas não se esqueça: aprenda Python antes do Django. Conselho de quem apanhou com isso. ;-)
Python é mais fácil e mais clara do que o PHP. Mas tem aquele tempo inicial de vc pegar o jeito da linguagem.
Dá uma olhada nesse blog aqui que vc vai encontrar alguma coisa p/ te ajudar. Ele é planejado justamente para quem está começando com Python. ;-)
--
Atte.,
Vinicius Assef.