L'initialisation d'un dictionnaire en python, avec une valeur de clé et ne correspond à aucune des valeurs
Je me demandais si il y avait un moyen d'initialiser un dictionnaire en python, avec les touches, mais ne correspond à aucune des valeurs jusqu'à ce que je les ai. Tels que:
Definition = {'apple': , 'ball': }
et puis plus tard, je peux les définir:
Definition[key] = something
Je ne veux initialiser les touches, mais je ne sais pas les valeurs correspondantes jusqu'à ce que j'ai à régler plus tard. Fondamentalement, je sais ce que les touches que je veux ajouter les valeurs qu'ils sont trouvés. Merci.
- Pourquoi voulez-vous initialiser les touches?
- Il n'y a pas une telle chose comme une clé sans une valeur dans un dict. Il vous suffit de définir la valeur None, si.
- Que signifie le fait de définir une clé avec aucune valeur? Si vous essayez d'accéder à l'élément en question, serait-il générer une erreur (comme si vous n'aviez jamais défini que les principaux), ou de céder à quelque chose (dans ce cas, que quelque chose est sa valeur)?
- Puisque vous savez que vous allez remplacer les valeurs plus tard, il n'a vraiment pas d'importance ce que vous définissez pour.
- J'ai été la création d'un dictionnaire qui passe par un autre dictionnaire pour seulement saisir les valeurs des clés je voulais, si je voulais être en mesure de comparer les clés et de les définir si elles sont égales. Pourrait de fait d'une mauvaise façon, mais il fonctionne! Merci encore!
Vous devez vous connecter pour publier un commentaire.
Vous pourriez les initialiser à
None
.Utiliser le
fromkeys
fonction pour initialiser un dictionnaire avec toute la valeur par défaut. Dans votre cas, vous devrez initialiser avecNone
puisque vous n'avez pas une valeur par défaut à l'esprit.cela permettra d'initialiser
empty_dict
comme:Comme une alternative, si vous voulez initialiser le dictionnaire avec une certaine valeur par défaut autre que
None
, vous pouvez le faire:vous pouvez utiliser un defaultdict. Il vous permettra de définir le dictionnaire des valeurs sans se soucier de savoir si la clé existe déjà. Si vous avez accès à une clé qui n'a pas été initialisé mais il sera de retour une valeur que vous spécifiez (dans l'exemple ci-dessous, elle sera de retour Aucun)
Il serait bon de savoir ce que votre but est, pourquoi vous voulez initialiser les touches en premier lieu. Je ne suis pas sûr que vous devez faire.
1) Si vous voulez compter le nombre d'occurrences de clés, il vous suffit de faire:
2) Si vous souhaitez obtenir Aucun (ou une autre valeur) plus tard pour les touches que vous n'avez pas de rencontre, encore une fois, vous pouvez simplement utiliser la méthode get ():
3) Pour toutes les autres fins, vous pouvez utiliser une liste de l'clés, et de vérifier si les clés trouvés par la suite correspondent à ceux que l'.
Par exemple, si vous souhaitez stocker les valeurs de ces clés:
Ou si vous voulez vous assurer que toutes les clés ont été trouvés:
Vous pouvez initialiser les valeurs des chaînes vides et les remplir plus tard qu'ils sont trouvés.
Basé sur la clarification commentaire par @user2989027, je pense qu'une bonne solution est la suivante:
J'ai essayé de ne pas faire quelque chose de compliqué ici. J'ai paramétré mes données et un dictionnaire vide. J'ai ensuite une boucle sur une liste de chaînes de caractères qui représentent les clés dans mon dictionnaire de données. Je copie chaque valeur de données à my_data, mais considérons le cas où les données peuvent ne pas avoir la clé que je veux.