d[k] e ao teste de associação de chaves usando k in d. Ambas as operações levam tempo constante. Dicionários não congelados são mutáveis e podem ser atualizados atribuindo a d[k] ou chamando determinados métodos. Os dicionários são iteráveis. A iteração gera a sequência de chaves na ordem de inserção. A ordem de iteração não é afetada pela atualização do valor associado a uma chave existente, mas é afetada pela remoção e reinserção de uma chave.
d = {0: "x", 2: "z", 1: "y"}
[k for k in d] # [0, 2, 1]
d.pop(2)
d[0], d[2] = "a", "b"
0 in d, "a" in d # (True, False)
[(k, v) for k, v in d.items()] # [(0, "a"), (1, "y"), (2, "b")]
Há quatro maneiras de construir um dicionário:
- Uma expressão de dicionário
{k: v, ...}gera um novo dicionário com as entradas de chave/valor especificadas, inseridas na ordem em que aparecem na expressão. A avaliação falha se duas expressões de chave gerarem o mesmo valor. - Uma compreensão de dicionário
{k: v for vars in seq}gera um novo dicionário em que cada par de chave/valor é inserido na ordem de iteração do loop. Duplicatas são permitidas: a primeira inserção de uma determinada chave determina sua posição na sequência, e a última determina o valor associado.{k: v for k, v in (("a", 0), ("b", 1), ("a", 2))} # {"a": 2, "b": 1} {i: 2*i for i in range(3)} # {0: 0, 1: 2, 2: 4} - Uma chamada para a função dict integrada retorna um dicionário que contém as entradas especificadas, que são inseridas na ordem dos argumentos, posicionais antes dos nomeados. Assim como nas comprehensions, as chaves duplicadas são permitidas.
- A expressão de união
x | ygera um novo dicionário combinando dois dicionários existentes. Se os dois dicionários tiverem uma chavekem comum, o valor da chave do dicionário à direita (ou seja,y[k]) vai prevalecer. A variante|=do operador de união modifica um dicionário no local. Exemplo:d = {"foo": "FOO", "bar": "BAR"} | {"foo": "FOO2", "baz": "BAZ"} # d == {"foo": "FOO2", "bar": "BAR", "baz": "BAZ"} d = {"a": 1, "b": 2} d |= {"b": 3, "c": 4} # d == {"a": 1, "b": 3, "c": 4}
Membros
limpar
None dict.clear()get
unknown dict.get(key, default=None)
key se key estiver no dicionário. Caso contrário, retorna default. Se default não for fornecido, o padrão será None, para que esse método nunca gere um erro.
Parâmetros
| Parâmetro | Descrição |
|---|---|
key
|
required A chave a ser procurada. |
default
|
O padrão é NoneO valor padrão a ser usado (em vez de "None") se a chave não for encontrada. |
itens
list dict.items()
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]chaves
list dict.keys()
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]pop
unknown dict.pop(key, default=unbound)
key do dicionário e retorna o valor associado. Se nenhuma entrada com essa chave for encontrada, não remova nada e retorne o valor default especificado. Se nenhum valor padrão for especificado, falhe.
Parâmetros
| Parâmetro | Descrição |
|---|---|
key
|
obrigatório A chave. |
default
|
O padrão é unboundum valor padrão se a chave estiver ausente. |
popitem
tuple dict.popitem()
(key, value) do dicionário. popitem é útil para iterar destrutivamente em um dicionário, como costuma ser usado em algoritmos de conjunto. Se o dicionário estiver vazio, a chamada popitem vai falhar.
setdefault
unknown dict.setdefault(key, default=None)
key estiver no dicionário, retorne o valor dele. Caso contrário, insira a chave com um valor de default e retorne default. O padrão de default é None.
Parâmetros
| Parâmetro | Descrição |
|---|---|
key
|
obrigatório A chave. |
default
|
O padrão é Noneum valor padrão se a chave estiver ausente. |
update
None dict.update(pairs=[], **kwargs)pairs, e depois com os argumentos de palavra-chave opcionais. Se o argumento posicional estiver presente, ele precisará ser um dict, um iterável ou None.
Se for um dict, os pares de chave-valor serão inseridos nele. Se for um iterável, ele vai fornecer uma sequência de pares (ou outros iteráveis de tamanho 2), cada um deles tratado como um par chave/valor a ser inserido.
Cada argumento de palavra-chave name=value faz com que o par nome/valor seja inserido nesse dicionário.
Parâmetros
| Parâmetro | Descrição |
|---|---|
pairs
|
O padrão é []Um dicionário ou uma lista de entradas. As entradas precisam ser tuplas ou listas com exatamente dois elementos: chave e valor. |
kwargs
|
required Dicionário de entradas adicionais. |
values
list dict.values()
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]