Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapakah `.join()` Menghasilkan Keputusan Yang Tidak Dijangka Apabila Menggabungkan Rentetan dan Objek seperti Bait?
Apakah itu .join() dan Bagaimana Ia Berfungsi dalam Menggabungkan Rentetan?
Kaedah .join() Python biasanya digunakan untuk rentetan penyatuan. Namun, setelah menguji contoh yang diberikan, ia membuahkan hasil yang tidak dijangka. Memahami tujuan dan penggunaan kaedah ini boleh menjelaskan mengapa ia berkelakuan seperti itu.
Kaedah .join() beroperasi pada rentetan dan mengambil elemen yang boleh dilelang sebagai hujah. Ia memasukkan rentetan yang ditentukan di antara setiap elemen yang boleh dilelang semasa penyambungan.
Sebagai contoh:
",".join(["a", "b", "c"]) # Output: 'a,b,c'
Dalam contoh yang disediakan:
array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring().join(strid)
Rentetan() kaedah menukar tatasusunan aksara kepada objek seperti bait. Objek seperti bait ini kemudiannya digunakan sebagai input untuk .join() bersama rentetan "595".
Walau bagaimanapun, perkara utama yang perlu difahami ialah rentetan "595" dianggap sebagai senarai aksara individunya, iaitu ["5", "9", "5"]. Oleh itu, ".join()" beroperasi pada senarai ini, memasukkan objek seperti bait antara setiap aksara:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5 ^ ^ ^
Setiap "5", "9", "5" dalam output menunjukkan sisipan daripada objek seperti bait antara aksara rentetan asal.
Untuk mencapai penggabungan yang dimaksudkan, pengendali boleh digunakan sebaliknya:
array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring() + strid
Pendekatan ini menggabungkan secara langsung bait seperti objek dengan rentetan "595", menghasilkan output yang diingini tanpa sebarang sisipan antara aksara.
Atas ialah kandungan terperinci Mengapakah `.join()` Menghasilkan Keputusan Yang Tidak Dijangka Apabila Menggabungkan Rentetan dan Objek seperti Bait?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!