Rumah > Artikel > pembangunan bahagian belakang > Apakah perbezaan utama antara kaedah `dict.items()` dan `dict.iteritems()` Python 2?
Memahami Perbezaan antara dict.items() dan dict.iteritems() dalam Python 2
Seperti yang telah anda nyatakan dalam soalan anda, dalam Python 2, terdapat dua kaedah untuk mendapatkan pasangan nilai kunci daripada kamus: dict.items() dan dict.iteritems(). Walaupun output yang anda berikan mencadangkan bahawa ia mengembalikan rujukan kepada objek yang sama, terdapat perbezaan penting yang perlu diberi perhatian.
Perbezaan utama antara kedua-dua kaedah terletak pada nilai pulangannya. dict.items() mengembalikan salinan senarai kamus pasangan (kunci, nilai). Ini bermakna bahawa sebarang perubahan yang dibuat pada kamus asal tidak akan ditunjukkan dalam salinan yang dikembalikan oleh dict.items(). Sebaliknya, dict.iteritems() mengembalikan iterator yang merentasi pasangan kamus (kunci, nilai). Ia tidak mencipta salinan, tetapi sebaliknya menyediakan cara untuk mengulang pasangan.
Sebab dict.items() mengembalikan salinan adalah untuk kecekapan. Dalam versi Python yang lebih lama, mengulangi item dalam kamus menggunakan dict.items() akan membuat senarai baharu untuk setiap lelaran. Ini adalah proses yang memakan masa, terutamanya untuk kamus besar. Dengan mengembalikan salinan, dict.items() menghapuskan keperluan untuk mencipta berbilang senarai, mengurangkan kerumitan masa operasi.
Dalam contoh anda, kedua-dua dict.items() dan dict.iteritems() kelihatan seperti kembalikan rujukan kepada objek yang sama kerana anda mengulangi pasangan dan membandingkannya dengan nilai dalam kamus asal. Walau bagaimanapun, jika anda membuat perubahan pada kamus, anda akan mendapati bahawa dict.items() mengembalikan senarai yang dikemas kini, manakala dict.iteritems() terus berulang ke atas pasangan asal.
Untuk meringkaskan, dict .items() mengembalikan salinan pasangan (kunci, nilai) kamus, manakala dict.iteritems() mengembalikan iterator ke atas pasangan. Pilihan antara dua kaedah bergantung kepada sama ada anda memerlukan salinan atau iterator. Dalam Python 3, dict.items() telah berkembang untuk mengembalikan pandangan, menghapuskan keperluan untuk dict.iteritems().
Atas ialah kandungan terperinci Apakah perbezaan utama antara kaedah `dict.items()` dan `dict.iteritems()` Python 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!