Méthode de mise à jour en Python dictionnaire
J'ai essayé de mettre à jour les valeurs dans mon dictionnaire, je suis tombé sur 2 façons de le faire:
product.update(map(key, value))
product.update(key, value)
Quelle est la différence entre eux?
- La deuxième méthode renvoie une erreur de type:
TypeError: update expected at most 1 arguments, got 2
. - Quel est le problème avec
product[key] = value
? - La première méthode renvoie une erreur, en disant: le deuxième paramètre (
value
) doit prendre en charge l'itération. - Cela dépend entièrement de ce que
value
est défini comme...
Vous devez vous connecter pour publier un commentaire.
La différence est que la seconde méthode ne fonctionne pas:
dict.mise à jour()
s'attend à trouver un objet iterable de paires clé-valeur, les arguments mots-clefs, ou un autre dictionnaire:map()
est une méthode intégrée qui produit une séquence en appliquant les éléments de la deuxième (et les suivantes) les arguments pour le premier argument, qui doit être appelable. À moins que votrekey
objet est un callable et lavalue
objet est une séquence, votre première méthode échoue aussi.Démo d'un travail
map()
application:Ici
map()
juste produit des paires clé-valeur, ce qui répond à l'dict.update()
attentes.map()
puis-je utiliser unstr
comme un objet appelable, par exemple:dict.update(map('Name', 'John'))
?str
les objets ne sont pas remboursables. Seulement les fonctions et les objets avec un__call__
méthode sont.dict.update({'Name':'John'})
product.update(map(lambda x : (x, x**4), range(3)))