Vous pouvez attribuer ensuite de la même var:
foo = 1234
_dict = {
"foo" : foo,
"bar" : foo + 1,
}
Ou avec deux déclarations (toujours le même) dict:
_dict = { "foo": 1234 }
_dict["bar"] = _dict["foo"] + 1
Si vous pouvez elab orate sur ce que vous essayez d'atteindre, peut-être y at-il une solution plus élégante à trouver. Souvent, quand on a besoin de définir la valeur dict
sur la base d'un autre, c'est parce que les valeurs sont définies dynamiquement en utilisant une opération paramétrée. Dans ces cas, il est parfois possible d'utiliser la compréhension de la liste/l'expression du générateur. Par exemple.
>>> dict((v, 1234+i) for i, v in enumerate(("foo", "bar")))
{'foo': 1234, 'bar': 1235}
+1 pour expliquer pourquoi la version OP ne fonctionne pas :) –
Grande réponse, exactement ce que je voulais, merci pour la réponse très rapide :) – xceph