2016-07-19 3 views
-1

例えば、aを呼び出す方法はありますか?bを以下に示すように定義していますか?まだ定義しているdictのキーを使用できますか?

c = dict(
    a = "foo", 
    b = a + "bar" 
) 

それとも私は使用することができます。

c = dict() 
c['a'] = "foo" 
c['b'] = c['a'] + "bar" 
+3

あなたは二番目の形式を使用する必要があります。私の意見では、あなたが提案したことをする方法がない – XNor

+1

いいえ、あなたはそれをすることはできません。 – jonrsharpe

答えて

2

これは、リファクタリングする必要があります。

a = "foo" 
c = dict(a=a, b=a+"bar") 

あなた一時変数aせず、1行でそれを行うことができますが、それはですかわいそうではない:

c = (lambda x: dict(a=x, b=x+"bar"))("foo") 
0

いいえ。最初の例では、提供できませんでした。秒の例はもっとPythonicです。

あなたは本当にそれが1回の呼び出しでになりたい場合は、使用できるように、あなたはおそらく、ハードコーディングされた値を持ちません。

text = "foo" 
c = dict(
    a = text, 
    b = text + "bar" 
) 
関連する問題