Propaganda

Um dicionário python é uma estrutura de dados semelhante a uma matriz associativa encontrada em outras linguagens de programação. Uma matriz ou uma lista indexa elementos por posição. Um dicionário, por outro lado, indexa elementos por chaves que podem ser strings. Pense em um dicionário como conjuntos não ordenados de valor chave pares.

um pares de valores-chave do dicionário python

Neste artigo, apresentamos você a trabalhar com o dicionário python.

Criando um dicionário

Existem várias maneiras de criar um dicionário python. O mais simples usa a inicialização entre chaves, com uma sintaxe remanescente do JSON Como obter Python e JavaScript para se comunicar usando JSONHoje mostrarei como usar o JSON para enviar dados do JavaScript para o Python. Vou abordar como configurar um servidor da Web, juntamente com todo o código que você precisa. consulte Mais informação .

users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27}

Você também pode usar números como teclas. No entanto, tenha cuidado ao usar números de ponto flutuante como teclas, pois o

instagram viewer
computador armazena-os como aproximações Tudo o que você precisa saber sobre RAM e gerenciamento de memóriaRAM é a memória de curto prazo do seu computador. Portanto, o gerenciamento de memória tem um impacto significativo no desempenho do sistema. Aqui, explicamos como a RAM funciona e se você pode fazer algo para aumentar sua eficiência. consulte Mais informação .

rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} imprima rain_percent. print rain_percent [1980] # imprime. {1980: '17%', 1981: '15%', 1982: '10%'} 17%

Especificando pares de valor-chave

Você também pode criar e inicializar um dicionário usando pares de nome e valor como argumentos de palavra-chave no dict () construtor.

população = ditado (Califórnia = 37253956, Colorado = 5029196, Connecticut = 3574097, Delaware = 897934) população de impressão. # imprime. {'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196}

Matriz de tuplas de valor-chave

Outra maneira de criar um dicionário é usar uma matriz de tuplas de valor-chave. Aqui está o mesmo exemplo acima.

pares = [('Califórnia', 37253956), ('Colorado', 5029196), ('Connecticut', 3574097), ('Delaware', 897934)] população = ditado (pares) população de impressão. # imprime. {'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196}

Dict Comprehension

A compreensão de ditado fornece uma sintaxe interessante para inicializar um ditado se você puder calcular os valores com base nas chaves. A seguir, é iniciado um ditado de números e valores quadrados para um intervalo de números.

imprima {x: x ** 2 para x em xrange (10, 20)} # imprime. {10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17: 289, 18: 324, 19: 361}

Como funciona? A última parte (para x em xrange (10, 20)) retorna um intervalo de números no intervalo especificado. A parte de compreensão do ditado ({x: x ** 2 ..}) faz um loop nesse intervalo e inicializa o dicionário.

Trabalhando com um dicionário Python

O que você pode fazer com os dicionários depois de criá-los? Bem, você pode acessar elementos, atualizar valores, excluir elementos etc.

Acessando elementos do dicionário Python

Acesse um elemento de um ditado usando a chave entre colchetes, exatamente como faria uma matriz ou uma lista Como matrizes e listas funcionam em PythonMatrizes e listas são algumas das estruturas de dados mais úteis na programação - embora poucas pessoas as utilizem em todo o seu potencial. consulte Mais informação .

população impressa ['Delaware'] # imprime. 897934.

Se a chave for um número, você não precisará das aspas. A expressão então parece uma indexação de lista ou matriz.

print rain_percent [1980] # imprime. 17%

O tipo da chave ao acessá-la deve corresponder ao que está armazenado no dicionário Python. A seguir, ocorre um erro, pois as chaves armazenadas são números enquanto a chave de acesso é uma sequência.

x = '1980' print rain_percent [x] # resulta em 1 x = '1980' > 2 print rain_percent [x] KeyError: '1980'

Acessando uma chave inexistente é um erro.

rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} print rain_percent [1983] # prints 1 rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} > 2 print rain_percent [1983] KeyError: 1983.

Para acessar uma chave e fornecer um valor padrão, se o mapeamento não existir, use o obter() método com valor padrão como o segundo argumento.

print rain_percent.get (1985, '0%') # imprime. 0%

Verificando a existência

E se você quiser verificar a presença de uma chave sem realmente tentar acessá-la (e possivelmente encontrar um KeyError como acima)? Você pode usar o em palavra-chave no formulário chave no dct que retorna um booleano.

imprima 1980 em rain_percent. imprima '1980' em rain_percent. # imprime. Verdade. Falso. 

Inverta a condição (ou seja, verifique se a chave não está presente no dicionário Python) usando o formulário chave não está no dct. Isso é equivalente à negação python padrão não digite dct.

imprima 1980 não em rain_percent. impressão 1985 não em rain_percent. # imprime. Falso. Verdade. 

Elementos de modificação

Altere o valor atribuindo à chave necessária.

users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} usuários ['idade'] = 29. usuários de impressão. # imprime. {'lastname': 'Smith', 'age': 29, 'firstname': 'John'}

Use a mesma sintaxe para adicionar um novo mapeamento ao dicionário Python.

users ['dob'] = '15 -sep-1971 ' usuários de impressão. # imprime. {'dob': '15 -sep-1971 ',' lastname ':' Smith ',' age ': 29,' firstname ':' John '}

Atualize vários elementos de um dicionário de uma só vez usando o atualizar() método.

users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} users.update ({'age': 29, 'dn': '15 -sep-1971 '}) usuários de impressão. # imprime. {'dob': '15 -sep-1971 ',' lastname ':' Smith ',' age ': 29,' firstname ':' John '}

Defina um valor padrão para uma chave usando conjunto padrão(). Este método define o valor da chave se o mapeamento não existir. Retorna o valor atual.

# não altera o valor atual. print users.setdefault ('firstname', 'Jane') # imprime. João # define valor. print users.setdefault ('city', 'NY') # imprime. NY # Valor final. usuários de impressão. # imprime. {'lastname': 'Smith', 'age': 27, 'firstname': 'John', 'city': 'NY'}

Excluindo elementos

Exclua os mapeamentos no dicionário usando o del operador. Este operador não retorna nada.

Você encontrará um KeyError se a chave não existir no dicionário.

users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} del users ['age'] usuários de impressão. # imprime. {'lastname': 'Smith', 'firstname': 'John'}

Use o pop () em vez disso, quando você desejar o valor excluído.

users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} print users.pop ('idade') usuários de impressão. # imprime. 27. {'lastname': 'Smith', 'firstname': 'John'}

E se você quiser excluir uma chave, se ela existir, sem causar um erro, se não existir? Você pode usar pop () e especifique Nenhum para o segundo argumento da seguinte maneira:

users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} users.pop ('foo', Nenhum) usuários de impressão. # imprime. {'lastname': 'Smith', 'age': 27, 'firstname': 'John'}

E aqui está uma lista para excluir um monte de chaves de um dicionário sem causar um erro nas chaves inexistentes.

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27, 'dn': '15 -sep-1971 '} map (lambda x: users.pop (x, None), ['idade', 'foo', 'dob']) usuários de impressão.

Deseja excluir todas as chaves de um dicionário? Use o Claro() método.

users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} users.clear () usuários de impressão. # imprime. {}

Loop com dicionários Python

Python fornece muitos métodos para loop Como funcionam os loops de folga na programação de computadoresOs loops são um dos primeiros tipos de controle que você aprenderá em programação. Você provavelmente conhece os loops while e for, mas o que um loop do-while realiza? consulte Mais informação sobre as entradas de um dicionário. Escolha um para atender às suas necessidades.

Loop sobre chaves

  • O método mais simples para processar chaves (e possivelmente valores) em sequência usa um loop do formulário:
    users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} para k em usuários: imprima k, '=>', usuários [k] # imprime. sobrenome => Smith. idade => 27. firstname => John.
  • Usando o método iterkeys () funciona exatamente da mesma maneira que acima. Escolha qual formulário você deseja usar.
    users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} para k em users.iterkeys (): imprime k, '=>', usuários [k] # imprime. sobrenome => Smith. idade => 27. firstname => John.
  • Um terceiro método para recuperar e processar chaves em um loop envolve o uso da função interna iter ().
    users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} para k no iter (usuários): imprima k, '=>', usuários [k] # imprime. sobrenome => Smith. idade => 27. firstname => John.
  • Quando você precisar que o índice da chave esteja sendo processado, use o enumerar() função embutida como mostrado.
    users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} para índice, digite enumerar (usuários): imprima índice, chave, '=>', usuários [k] # imprime. 0 sobrenome => John. 1 idade => João. 2 primeiro nome => John.

Loop sobre pares de valor-chave

  • Quando você deseja recuperar cada par de valores-chave com uma única chamada, use iteritems ().
    users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} para k, v em users.iteritems (): imprime k, '=>', v. # imprime. sobrenome => Smith. idade => 27. firstname => John.

Iterando sobre valores

  • O método itervalues ​​() pode ser usado para iterar sobre todos os valores no dicionário. Embora esse método seja semelhante a um loop usando valores (), é mais eficiente, pois não extrai todos os valores de uma só vez.
    users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} para valor em users.itervalues ​​(): valor de impressão. # imprime. Smith. 27. John.

Extraindo matrizes

Os métodos a seguir descrevem a extração de várias informações do dicionário Python em um formato de matriz. A matriz resultante pode ser repetida usando construções python normais. No entanto, lembre-se de que a matriz retornada pode ser grande, dependendo do tamanho do dicionário. Então pode ser mais caro (em memória) para processar essas matrizes do que usando os métodos do iterador acima.

Um caso em que é aceitável trabalhar com essas matrizes é quando você precisa excluir itens do dicionário quando encontrar elementos indesejáveis. Trabalhar com um iterador enquanto modifica o dicionário pode causar um RuntimeError.

  • O método Itens() retorna uma matriz de tuplas de valor-chave. Você pode iterar sobre esses pares de valores-chave, conforme mostrado:
    users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} para k, v em users.items (): imprima k, '=>', v. # imprime. sobrenome => Smith. idade => 27. firstname => John.
  • Recupere todas as chaves do dicionário usando o método chaves().
    users = {'nome': 'João', 'sobrenome': 'Smith', 'idade': 27} print users.keys () # imprime. ['sobrenome', 'idade', 'primeiro nome']

    Use a matriz retornada para fazer um loop sobre as chaves.

    para k em users.keys (): imprime k, '=>', usuários [k] # imprime. sobrenome => Smith. idade => 27. firstname => John.
  • De maneira semelhante, use o método valores () para recuperar todos os valores no dicionário.
    para valor em users.values ​​(): valor de impressão. # imprime. Smith. 27. John. 

Como você usa dicionários Python?

Tentamos abordar os casos de uso mais comuns para dicionários python neste artigo. Certifique-se de verificar todos os nossos outros artigos em Python 10 exemplos básicos de Python que ajudarão você a aprender rapidamenteEste artigo de exemplos básicos de python é para aqueles que já têm alguma experiência em programação e simplesmente desejam fazer a transição para o Python o mais rápido possível. consulte Mais informação por igual mais dicas sobre Python 5 cursos que levarão você do Python Beginner ao ProEsses cinco cursos ensinarão tudo sobre programação em Python, uma das linguagens mais populares do momento. consulte Mais informação . Se você tiver outros casos de uso que você deva incluir, informe-nos nos comentários abaixo!

Créditos da Imagem: viper345 / Shutterstock