Por que ao imprimir uma lista com {} (tipo um dicionário), ele muda a ordem que é apresentada?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Por que ao imprimir uma lista com {} (tipo um dicionário), ele muda a ordem que é apresentada?
Alice,
Todos os tipos de dados compostos que estudamos em detalhes até agora — strings, listas e tuplas — são coleções sequenciais. Isto significa que os itens na coleção estão ordenados da esquerda para a direita e eles usam números inteiros como índices para acessar os valores que eles contêm.
Dicionário é um tipo diferente de coleção. Ele é um tipo de mapeamento nativo do Python. Um mapa é uma coleção associativa desordenada. A associação, ou mapeamento, é feita a partir de uma chave, que pode ser qualquer tipo imutável, para um valor, que pode ser qualquer objeto de dados do Python.
dic = {'759147': 54, '186398060': 8, '199846203': 42, '191725321': 10, '158947719': 4}
for item in sorted(dic, key = dic.get):
print (dic[item])
Só um detalhe, o termo mais correto seria classificar o dicionário. Um dicionário em python não tem ordem, na maior parte dos casos não tem sentido manter a ordem dos itens do dicionário.
Porém existe o OrderedDict (também em python 2).
Alternativamente você pode ordenar uma lista com as chaves e acessar os valores na ordem dessa lista.