Dicionário Python | O método fromkeys()

| |

Às vezes é necessário formar um dicionário a partir das chaves fornecidas. Aproximadamente fazer isso levaria tempo e seria um trabalho mais tedioso. Portanto, fromkeys() nos ajuda a resolver facilmente esse problema usando apenas um método. Este artigo explica os aspectos operacionais e outros associados a esse recurso.

Sintaxe: fromkeys (seq, val)

Parâmetros:
seq: A sequência a ser transformada em um dicionário.
val: Valores iniciais que precisam ser atribuídos às chaves geradas... O padrão é Nenhum.

Retorna: Um dicionário com chaves mapeadas para Nenhum se nenhum valor for fornecido, senão para o valor fornecido no campo.

Código # 1: Demonstração de fromkeys ()

# código de demonstração Python 3
# trabalhando com teclas ()


# seqüência de inicialização

seq = { ’a’ , ’ b’ , ’c’ , ’ d’ , ’e’ }


# usando fromkeys () para converter a sequência em dict
# inicializa usando Nenhum

res_dict = dict . fromkeys (seq)


# Imprimir dict criado

print ( "O dict recém-criado com valores Nenhum:" + str (res_dict ))


# usando fromkeys () para converter a sequência em dict
# inicialize com 1

res_dict 2 = dict . Fromkeys (seq, 1 )


# Imprime dict criado

print ( "O dict recém-criado com 1 como valor:" + str (res_dict2))

Sair :

O dict recém-criado com valores Nenhum: {’d’: Nenhum, ’a’: Nenhum, ’b’: Nenhum, ’c’: Nenhum, ’e’: Nenhum }
O dict recém-criado com 1 como valor: {’ d ’: 1,’ a ’: 1,’ b ’: 1,’ c ’: 1,’ e ’: 1}

< /blockquote>

O comportamento fromdict () com objetos mutáveis ​​como valores:

A função fromdict () também pode ser fornecida com um objeto multilatable como valores padrão. Mas neste caso, uma cópia profunda é criada a partir do dicionário, ou seja, se adicionarmos um valor à lista original, a adição ocorre em todos os valores de chave.

Prevenção: Certas técnicas de compreensão de dicionário podem ser usadas para criar uma nova lista como valores-chave que não apontam para a lista original como valores-chave.

Código nº 2: Demonstrar comportamento com objetos mutáveis.

< td class = "code">

# código de demonstração do Python 3
# comportamento com objetos mutáveis ​​


# inicialização de sequência e lista

seq = { ’a’ , ’ b’ , ’c’ , ’d’ , ’ e’ }

lis1 = [ 2 , 3 ]


# usando fromkeys () para converter sequência em dict
# usando o método normal

res_dict = dict . fromkeys (seq, lis1)


# Imprimir dict criado

print ( "O dict recém-criado com valores de lista:"

+ str (res_dict))

< br /> # adiciona a lis1

lis1.append ( 4 )


# Imprime diktat após adicionar
# Observe que a adição ocorre em todos os valores

print ( " O dict com os valores da lista após anexar: "

< classe de código = "palavra-chave"> + str (res_dict) )

lis1 = [ 2 , 3 ]

print ( ’’ )


# usando fromkeys () para converter a sequência em dict
# usando dict. entendendo

res_dict2 = {key: lista (lis1) for chave em seq}


# Imprime o dict criado

print ( " O dict recém-criado com valores de lista: "

+ str (res_dict2))


# adiciona a lis1

lis1.append ( 4 )

# Imprime diktat após adicionar
# Observe que a adição não está acontecendo agora.

print ( " O dict with list valores após anexar (sem alteração): "

+ str (res_dict2))

Saída:

O dict recém-criado com valores de lista: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3] , ’a’: [2, 3], ’b’: [2, 3]}
O dict com valores de lista após anexar: {’d’: [2, 3, 4], ’e’: [2, 3, 4], ’c’: [2, 3, 4], ’a’: [2, 3, 4], ’b’: [2, 3, 4] }

O dict recém-criado com valores de lista: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3], ’a’ : [2, 3], ’b’: [2, 3]}
O dict com os valores da lista após anexar (sem alteração): {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3], ’a’: [2, 3], ’b’: [2, 3]}

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method