puis-je convertir des dictionnaires en paires de valeur variable sans Puis j'ai besoin de: p> mais cela ne se produit pas. puis-je faire ceci? Comment? P> P> globals code> ou
locaux code> ou
exec code>, comme:
3 Réponses :
Vous pouvez utiliser ceci: exemple: p>
Cela ne fonctionne pas en général, par exemple. dans les étendues locales.
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"))
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
Pourquoi avez-vous besoin
un code> 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'] code>
Juste hors de curiosité Pourquoi feriez-vous cela parce que l'accès de
dict code> 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'] code>