0
votes

Quelle est la meilleure façon de convertir les clés de dictionnaire en variables avec les valeurs de dictionnaire?

puis-je convertir des dictionnaires en paires de valeur variable sans globals ou locaux ou exec , comme: xxx

Puis j'ai besoin de: xxx

mais cela ne se produit pas. puis-je faire ceci? Comment?


4 commentaires

Pourquoi avez-vous besoin un comme variable, pourquoi avez-vous besoin de les stocker comme variables? Comme vous le savez, vous pouvez les atteindre en utilisant des clés comme comptez ['one']


Juste hors de curiosité Pourquoi feriez-vous cela parce que l'accès de dict serait plus facile.


Je travaille avec Django. Je voudrais obtenir toutes les valeurs de formulaire en utilisant une boucle. Mais demande.post est un dictionnaire, ce qui n'est pas utile dans mon cas.


Vous ne devriez pas faire cela. Ne créez pas de manière dynamique des variables. Ce n'est même pas toujours toujours possible. Seulement dans les champs mondiaux (aussi des champs de classe) pouvez-vous faire cela. Vous devez simplement utiliser votre dictionnaire ou créer manuellement les variables dont vous avez besoin, c'est-à-dire un = compter ['un']; deux = compter ['deux']


3 Réponses :


-1
votes

Vous pouvez utiliser ceci: xxx

exemple: xxx


1 commentaires

Cela ne fonctionne pas en général, par exemple. dans les étendues locales.



0
votes

Je ne comprends pas pourquoi vous voudriez créer de manière dynamique des variables, mais dans ce cas, utilisez simplement les clés du dictionnaire comme si vous auriez déclaré des variables déclarées.

print(count.get("one","Unknown"))


0 commentaires

0
votes

Si vous êtes prêt à créer un objet, vous pouvez ensuite utiliser getattr code> et setattr code> pour ajouter et obtenir ses attributs autant que possible avec des variables.

class Values(object):
    pass

obj = Values()

count = {'one':'first', 'two':'second'}

for key, value in count.items():
    setattr(obj, key, value)

print(getattr(obj, 'one'))
print(getattr(obj, 'two'))

# first
# second


0 commentaires