keys()関数を使用することに利点はありますか?
for word in dictionary.keys():
print word
vs
for word in dictionary:
print word
keys()関数を使用することに利点はありますか?
for word in dictionary.keys():
print word
vs
for word in dictionary:
print word
はい、Python 2.xでは、キーリストが複製されないため、辞書を直接反復処理することでメモリを節約できます。
を使用することもできますが.iterkeys()
、Python2.7ではを使用することもできます.viewkeys()
。
Python 3.xでは、.keys()
はビューであり、違いはありません。
したがって、結論として、ループ内のdictを変更する場合など、キーのコピーが必要なd.keys()
場合にのみ(またはlist(d.keys())
Python 3で)使用します。それ以外の場合は、dictを直接繰り返します。