Mengubah suai Senarai dalam Fungsi
Apabila bekerja dengan senarai dalam fungsi, adalah penting untuk memahami konsep rujukan dan penetapan nilai. Dalam Python, parameter senarai yang dihantar ke fungsi menerima rujukan kepada senarai asal, bukan salinan. Mengubah suai senarai di dalam fungsi secara langsung mengubah senarai asal.
Ilustrasi Masalah
Pertimbangkan kod berikut:
<code class="python">def function1(list_arg): a = function2() # returns an array of numbers list_arg = list(a) # Assign a new list to list_arg list1 = [0] * 5 function1(list1) print(list1) # Output: [0, 0, 0, 0, 0]</code>
Dalam contoh ini, kami berhasrat untuk mengubah suai senarai senarai1 yang diluluskan dengan elemen tatasusunan a. Walau bagaimanapun, kod itu tidak berfungsi kerana, dalam baris list_arg = list(a), kami menetapkan senarai baharu kepada list_arg, yang secara berkesan memutuskan pautan ke list1.
Penyelesaian: Mengubah suai Elemen Senarai
Untuk mengubah suai senarai asal dengan betul, kita perlu menetapkan elemen baharu kepada elemen individunya dan bukannya menugaskan semula keseluruhan senarai. Ini boleh dicapai menggunakan penghirisan:
<code class="python">list_arg[:] = list(a)</code>
Ini memperuntukkan kandungan list(a) kepada semua elemen dalam list_arg. Penghirisan [:] memilih keseluruhan julat elemen dalam list_arg.
Kesimpulan
Apabila bekerja dengan senarai dalam fungsi, ingat bahawa penugasan semula menggantikan senarai sedia ada, sambil mengubah suai elemen mengekalkan senarai asal. Gunakan penghirisan untuk mengubah suai elemen dalam senarai, memastikan senarai asal kekal utuh.
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Suai Senarai Dalam Fungsi dalam Python: Penugasan Semula vs. Pengubahsuaian Elemen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!