Je veux séparer chaque paire (touche, valeur) d'un dictionnaire et souhaiter appeler chaque valeur par son nom de clé.
J'ai deux listes, p> Maintenant, j'ai créé un dictionnaire comme celui-ci, p> donc, maintenant si je veux voir de la valeur pour chaque touche, je dois taper:
maintenant je m'attends à ce que mon résultat soit comme:
Si je demande la valeur de chaque clé, je dois simplement taper Typing dict [clé] code>. p>
clé code> pas
dict [clé] code>
Et cela devrait me donner la réponse. P>
1 code> doit donner
A code>.
Typage
2 code> doit donner
B code>. P> p>
3 Réponses :
Vous pouvez en quelque sorte faire comme ça, mais vous si vous pouvez simplement accéder ci-dessous n'est pas une très bonne idée honnêtement. Vous pouvez définir la clé en tant qu'attribut d'un objet.
mais il ne fonctionnera pas pour le dictionnaire que mon dictionnaire d'entrée est {"key1": "Apple"} code> p>
class MyDict:
def __init__(self,input_dict):
for key,value in input_dict.items():
setattr(self,key,value) #setting key as attribute
obj = MyDict({"key1":"Apple"}) #new instance
print(obj.key1) # this will print Apple
Si vous voulez boucle em> sur des valeurs de dictionnaire, vous pouvez utiliser dict.values () code>:
à l'intérieur d'une telle boucle réelle, continuez à éclairer les objets de vos listes jusqu'à ce que vous rencontriez une indexError, comme ceci:
ListA = [1, 2, 3] ListB = ['A', 'B', 'C'] DictC = {} while True: try: DictC[ListA.pop(0)] = ListB.pop(0) except IndexError: break print(DictC)
Utilisez
int (entrée ()) code> pour obtenir la clé de l'utilisateur et imprimer avec
dict [user_input] code>.
Pourquoi cela mais traiter
1 code> comme
a code> pourquoi?