English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste artigo, você aprenderá tudo sobre o dicionário Python; como criar, acessar, adicionar e remover elementos, bem como vários métodos integrados.
O dicionário Python é um conjunto de itens não ordenados. Outros tipos de dados compostos têm apenas valores como elementos, enquanto o dicionário tem pares chave: valor (key: value).
O dicionário está otimizado para recuperar valores quando a chave é conhecida.
Criar um dicionário é tão simples quanto colocar itens em chaves { } separados por vírgulas.
um item tem uma chave e um valor correspondente, representado por um par, chave: valor.
embora o valor possa ser qualquer tipo de dados e possa se repetir, a chave deve ser um tipo imutável (com elementos imutáveiscadeia de caracteres,númerooutupla)e devem ser únicas.
# Dicionário vazio my_dict = {} # Dicionário com chaves inteiras my_dict = {1: 'apple', 2: 'ball'} # Dicionário misturado de chaves my_dict = {'name': 'John', 1: [2, 4, 3}] # Usando dict() my_dict = dict({1:'apple', 2:'ball'}) # Cada item como uma sequência de pares my_dict = dict([(1,'apple'), (2,'ball')])
Como você pode ver acima, também podemos usar a função built-in dict() para criar um dicionário.
Embora o índice seja usado juntamente com outros tipos de contêineres para acessar valores, o dicionário usa chaves. As chaves podem ser usadas dentro de colchetes ou juntamente com o método get().
A diferença de usar get() é que, se não encontrar a chave, ele retornará None, em vez de um erro KeyError.
Quando o programa é executado, a saída é:
Jack 26
O dicionário é mutável. Podemos usar o operador de atribuição para adicionar novos itens ou alterar os valores dos itens existentes.
Se a chave já existir, o valor será atualizado, caso contrário, será adicionado o novo par chave:valor ao dicionário.
Quando o programa é executado, a saída é:
{'name': 'Jack', 'age': 27} {'name': 'Jack', 'age': 27, 'address': 'Downtown'}
Podemos usar o método pop() para deletar um item específico do dicionário. Este método usa a chave fornecida para remover o item e retorna o valor.
O método popitem() pode ser usado para deletar e retornar qualquer item (chave, valor) do dicionário. O método clear() pode ser usado para deletar todos os itens de uma vez.
Também podemos usar a palavra-chave del para deletar um item individual ou o dicionário inteiro.
Quando o programa é executado, a saída é:
16 {1: 1, 2: 4, 3: 9, 5: 25} (1, 1) {2: 4, 3: 9, 5: 25} {2: 4, 3: 9} {}
A seguir está uma lista dos métodos disponíveis para o dicionário. Alguns desses métodos já foram usados nos exemplos acima.
Método | Description |
---|---|
clear() | Remove todos os itens do dicionário. |
copy() | Retorna uma cópia superficial do dicionário. |
fromkeys(seq[,v]) | Usado para criar um novo dicionário, onde os elementos da sequência seq são os chaves do dicionário e v é o valor inicial para todas as chaves do dicionário. |
get(key[,d]) | Retorna o valor da chave. Se a chave não existir, retorna d (padrão None). |
items() | Retorna um array de tuplas itervisíveis (chave, valor). |
keys() | Retorna todas as chaves do dicionário. |
pop(key[,d]) | Remova o item com a chave e retorne seu valor. Se não encontrar a chave, retorne d. Se não for fornecido d e não encontrar a chave, lance um erro KeyError. |
popitem()} | Remove e retorna qualquer item (chave, valor). Se o dicionário estiver vazio, lança um erro KeyError. |
setdefault(key[,d]) | Retorna o valor da chave especificada, se o valor da chave não estiver no dicionário, retorna o valor especificado, o padrão é None. |
update([other]) | Usando os valores deotherdas chaves/Atualiza o dicionário com pares de valores, substituindo chaves existentes. |
values() | Retorna todos os valores do dicionário em uma lista. |
Aqui estão alguns exemplos do uso desses métodos.
marks = {}.fromkeys(['Math','English','Science'], 0) # Saída: {'English': 0, 'Math': 0, 'Science': 0} print(marks) for item in marks.items(): print(item) # Saída: ['English', 'Math', 'Science'] list(sorted(marks.keys()))
A compreensão de dicionário é uma maneira elegante e concisa de criar novos dicionários a partir de iteradores em Python.
A compreensão de dicionário contém uma expressão de par (chave: valor), seguida de uma instrução for entre chaves {}.
Este é um exemplo de como criar um dicionário onde cada item é um par de números e seus quadrados.
squares = {x: x*x for x in range(6}) # Saída: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25} print(squares)
Este código é equivalente a
squares = {} for x in range(6): squares[x] = x*x
A compreensão de dicionário pode escolher incluir maisforouinstrução if.
Uma instrução if opcional pode filtrar itens para formar um novo dicionário.
Aqui estão alguns exemplos de dicionários que contêm apenas itens ímpares.
odd_squares = {x: x*x for x in range(11) se x%2 == 1} # Saída: {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} print(odd_squares)
Para mais informações, acessePython dictionary comprehension.
Podemos usar a palavra-chave para testar se a chave está no dicionário com 'in'. Note que o teste de membresia se aplica apenas às chaves, não aos valores.
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} # Saída: True print(1 in squares) # Saída: True print(2 not in squares) # Testa a membresia apenas para chaves, não para valores # Saída: False print(49 in squares)
Usando o loop for, podemos percorrer cada chave do dicionário.
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} for i in squares: print(squares[i])
Built-in functions such as all(), any(), len(), cmp(), sort() are usually used with dictionary to perform different tasks.
Function | Description |
---|---|
all() | If all keys of the dictionary are true (or the dictionary is empty), return True. |
any() | If any key of the dictionary is true, return True. If the dictionary is empty, return False. |
len() | Return the length (number of items) of the dictionary. |
cmp() | Compare items of two dictionaries. |
sorted() | Return a new sorted list of keys from the dictionary. |
Here are some examples of using built-in functions to process dictionaries.
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} # Output: 5 print(len(squares)) # Output: [1, 3, 5, 7, 9] print(sorted(squares))