6

keys()関数を使用することに利点はありますか?

for word in dictionary.keys():
    print word

vs

for word in dictionary:
    print word
4

1 に答える 1

12

はい、Python 2.xでは、キーリストが複製されないため、辞書を直接反復処理することでメモリを節約できます。

を使用することもできますが.iterkeys()、Python2.7ではを使用することもできます.viewkeys()

Python 3.xでは、.keys()はビューであり、違いはありません。

したがって、結論として、ループ内のdictを変更する場合など、キーのコピーが必要なd.keys()場合にのみ(またはlist(d.keys())Python 3で)使用します。それ以外の場合は、dictを直接繰り返します。

于 2012-12-19T20:56:53.590 に答える