[解決済み】Python2のdict.items()とdict.iteritems()の違いは何ですか?
2022-03-23 06:33:07
質問
との間に、何か違いがありますか?
dict.items()
と
dict.iteritems()
?
から Pythonドキュメント :
dict.items()
: を返します。 コピー 辞書の (キー, 値) のペアのリストの。
dict.iteritems()
: を返します。 イテレータ を辞書の(key, value)のペアの上に置く。
以下のコードを実行すると、それぞれ同じオブジェクトへの参照が返されるようです。私が見逃している微妙な違いがあるのでしょうか?
#!/usr/bin/python
d={1:'one',2:'two',3:'three'}
print 'd.items():'
for k,v in d.items():
if d[k] is v: print '\tthey are the same object'
else: print '\tthey are different'
print 'd.iteritems():'
for k,v in d.iteritems():
if d[k] is v: print '\tthey are the same object'
else: print '\tthey are different'
出力します。
d.items():
they are the same object
they are the same object
they are the same object
d.iteritems():
they are the same object
they are the same object
they are the same object
解決方法は?
それは進化の一部です。
元々、Pythonは
items()
はタプルの実際のリストを構築し、それを返しました。これは潜在的に多くの余分なメモリを必要とする可能性があります。
その後、言語全般にジェネレータが導入され、このメソッドは、イテレータジェネレータメソッドとして
iteritems()
. 後方互換性のためにオリジナルが残っています。
Python 3 の変更点のひとつは
items()
はビューを返すようになり
list
が完全に構築されることはありません。そのため
iteritems()
メソッドもなくなりました。
items()
は、Python 3 では次のように動作します。
viewitems()
をPython 2.7で使用した場合。
関連
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み] urllib、urllib2、urllib3、requestsモジュールの違いは何ですか?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] と "is "は違うのですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
python implement mysql add delete check change サンプルコード
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] ネストされたPythonのdictをオブジェクトに変換する?