English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do Python

Controle de Fluxo no Python

Função do Python

Tipos de Dados do Python

Operações de Arquivos no Python

Objetos e Classes no Python

Data e Hora no Python

Conhecimento Avançado do Python

Manual de Referência do Python

Uso e exemplo do fromkeys() no dicionário Python

Métodos de Dicionário do Python

O método fromkeys() cria um novo dicionário com base na sequência de elementos fornecidos, onde os valores são os fornecidos pelo usuário.

A sintaxe do método fromkeys() é:

dictionary.fromkeys(sequence[, value])

Parâmetros do fromkeys()

O método fromkeys() aceita dois parâmetros:

  • sequence -Sequência de elementos usada como chaves do novo dicionário

  • value (opcional) -Valor definido para cada elemento do dicionário

Retorno do fromkeys()

O método fromkeys() retorna um novo dicionário, que possui a sequência de elementos fornecidos como chaves do dicionário.

Se o parâmetro value for configurado, cada elemento do dicionário recém-criado será configurado com o valor fornecido.

Exemplo1: Cria um dicionário com uma sequência de chaves

# Chaves de vogais
keys = {'a', 'e', 'i', 'o', 'u'}
vowels = dict.fromkeys(keys)
print(vowels)

Quando o programa é executado, a saída é:

{'a': None, 'u': None, 'o': None, 'e': None, 'i': None}

Exemplo2: Cria um dicionário com uma sequência de chaves que têm valores

# Chaves de vogais
keys = {'a', 'e', 'i', 'o', 'u'}
value = 'vowel'
vowels = dict.fromkeys(keys, value)
print(vowels)

Quando o programa é executado, a saída é:

{'a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'vowel'}

Exemplo3: Cria um dicionário a partir de uma lista de objetos mutáveis

# Chaves de vogais
keys = {'a', 'e', 'i', 'o', 'u'}
value = [1]
vowels = dict.fromkeys(keys, value)
print(vowels)
# Valor atualizado
value.append(2)
print(vowels)

Quando o programa é executado, a saída é:

{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1}]
{'a': [1, 2], 'u': [1, 2], 'o': [1, 2], 'e': [1, 2], 'i': [1, 2}]

Se o valor fornecido é um objeto mutável (seu valor pode ser alterado), comolista,dicionárioSe, então, ao modificar um objeto mutável, cada elemento da sequência também é atualizado.

Isso ocorre porque, para cada elemento, é atribuída uma referência ao mesmo objeto (apontando para o mesmo objeto na memória).

Para evitar esse problema, usamos compreensão de dicionário.

# Chaves de vogais
keys = {'a', 'e', 'i', 'o', 'u'}
value = [1]
vowels = { key: list(value) for key in keys }
# Você também pode usar { key: value[:] for key in keys }
print(vowels)
# Valor atualizado
value.append(2)
print(vowels)

Quando o programa é executado, a saída é:

{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1}]
{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1}]

Aqui, para cada chave em keys, cria-se uma nova lista a partir de value e a atribui a ela.

Basicamente, o valor não é atribuído ao elemento, mas cria uma nova lista a partir dele e a atribui a cada elemento do dicionário.

Métodos de Dicionário do Python