Veja como estou convertendo atualmente uma lista de tuplas em dicionário em Python:
l = [('a',1),('b',2)]
h = {}
[h.update({k:v}) for k,v in l]
> [None, None]
h
> {'a': 1, 'b': 2}
Existe uma maneira melhor? Parece que deveria haver uma linha para fazer isso.
python
list
dictionary
tuples
Sarah Vessels
fonte
fonte
dict
, obscurecendo o Python embutido com o mesmo nome. Você nunca deve fazer isso.dict
nome da variável de onde obtive o erro. Obrigado novamente.O
dict
construtor aceita a entrada exatamente como você a tem (tuplas de chave / valor).Da documentação :
fonte
Com
dict
compreensão:fonte
Parece que todos aqui assumem que a lista de tuplas tem mapeamento um para um entre chave e valores (por exemplo, não tem chaves duplicadas para o dicionário). Como esta é a primeira pergunta que surge ao pesquisar neste tópico, postarei uma resposta para um caso mais geral em que temos que lidar com duplicatas:
fonte