Memahami Kaedah ".join()" dalam Python
Kaedah ".join()" ialah alat manipulasi rentetan yang penting dalam Python yang membolehkan pembangun menggabungkan berbilang rentetan dengan cekap. Kaedah ini mengambil senarai rentetan dan menggabungkannya bersama-sama dengan memasukkan pemisah yang ditentukan antara setiap elemen.
Dalam contoh anda, anda mengalami gelagat yang tidak dijangka apabila menggunakan ".join()" untuk menggabungkan perwakilan rentetan integer dengan rentetan yang dijana secara rawak. Hasilnya, "5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5", mungkin kelihatan membingungkan.
Untuk memahami sebab ini berlaku, kita perlu mendalami mekanik ".join()". Kaedah ini beroperasi pada senarai rentetan, bukan rentetan individu. Apabila ia menemui input bukan rentetan, seperti integer, ia secara automatik menukarnya kepada perwakilan rentetan. Dalam kes anda, integer 595 telah ditukar kepada rentetan "595".
Walau bagaimanapun, daripada memasukkan keseluruhan rentetan "595" antara aksara rawak, ".join()" menganggapnya sebagai senarai aksara individu: ["5", "9", "5"]. Tingkah laku ini jelas dalam output, di mana aksara yang diserlahkan "5", "9", "5" menunjukkan bahawa setiap aksara telah disisipkan di antara huruf rawak.
Untuk mencapai gabungan integer dan integer yang diingini. rentetan rawak, anda harus menggunakan operator " " sebaliknya. " ", tidak seperti ".join()", secara langsung menggabungkan dua rentetan dengan meletakkannya satu demi satu, tanpa sebarang pemisah.
Dengan menggantikan ".join()" dengan " " dalam kod anda:
print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring() + strid)
Anda akan memperoleh output yang dijangkakan, di mana integer 595 dilampirkan pada penghujung rentetan rawak.
Atas ialah kandungan terperinci Mengapakah '.join()' memasukkan aksara individu daripada integer dan bukannya keseluruhan rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!