Slice Assignment vs. Direct Assignment dalam Senarai
Walaupun menghiris ialah operasi biasa untuk mengekstrak elemen daripada senarai, penggunaannya dalam tugasan boleh mengelirukan. Mari kita bandingkan perbezaan antara tugasan slice dan tugasan langsung.
Tugas Langsung
a_list = ['foo', 'bar']
Ini memberikan senarai baharu kepada nama a_list. Nilai asal yang disimpan di a_list dibuang dan senarai baharu menjadi satu-satunya objek yang dirujuk oleh a_list.
Slice Assignment
a_list[:] = ['foo', 'bar']
Sebaliknya, slice assignment beroperasi berbeza. Ia memanggil kaedah __setitem__ pada objek a_list, menggunakan kepingan sebagai indeks dan senarai baharu sebagai nilai.
Perbezaan Utama
Aplikasi Tambahan
Selain menghiris keseluruhan senarai, tugasan hirisan mendayakan manipulasi lanjutan seperti:
Walau bagaimanapun, untuk hirisan lanjutan (dengan langkah tidak sama dengan satu), lelang sebelah kanan mesti mempunyai panjang yang betul untuk sepadan dengan hirisan.
Atas ialah kandungan terperinci Slice Assignment vs. Direct Assignment: Bila Menggunakan Pendekatan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!