3

私は2つの辞書を持っています

a = {'hola':4.6, 'bye':56.7, 'tres':52.1}
b = {'hola':7.1, 'tres':103.1}

bはaのサブセットです。

新しい辞書cを作成したいと思います。値はa/bです。つまり、

c = {'hola'=7.1/4.6, 'tres':103.1/52.1}

bからaへの要素のforループを実行して、新しい要素を作成することはできますが、ループせずに、よりエレガントな方法はありますか?ちょっと興味があるんだけど。

4

1 に答える 1

10

ほとんどの pythonic はおそらく dict 内包表記です:

c = {k: a[k]/v for k,v in b.iteritems()}

Dict 内包表記は Python 2.7 で導入されました。古いバージョンではこれを使用します。

c = dict((k, a[k]/v) for k,v in b.iteritems())
于 2013-02-20T16:50:25.430 に答える