Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Adakah .join() Memasukkan Aksara Antara Elemen Daripada Menambah Rentetan dalam Python?

Mengapa Adakah .join() Memasukkan Aksara Antara Elemen Daripada Menambah Rentetan dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-19 20:01:03
asal
561 orang telah melayarinya

Why Does .join() Insert Characters Between Elements Instead of Appending a String in Python?

Memahami Kaedah Join() untuk Penggabungan Rentetan

Semasa bekerja dengan Python, anda mungkin terjumpa tanggapan bahawa .join() ialah kaedah pilihan untuk menggabungkan rentetan. Walau bagaimanapun, fungsinya boleh mengelirukan bagi pemula.

Pertimbangkan coretan kod ini:

strid = repr(595)
print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))).tostring().join(strid))
Salin selepas log masuk

Kod ini tidak berfungsi seperti yang diharapkan. Daripada menambahkan "595" pada hasil carian, ia menghasilkan output aksara daripada abjad ASCII yang diselingi dengan digit "595."

Kaedah .join()

Untuk memahami sebabnya, mari kita bongkar kaedah .join(). Ia mengambil rentetan sebagai hujah dan memasukkannya di antara unsur-unsur senarai yang diberikan. Contohnya:

","join(["a", "b", "c"])
Salin selepas log masuk

Akan menghasilkan "a,b,c." "," disisipkan di antara setiap elemen senarai.

Dalam kod anda, "595" dianggap sebagai senarai tiga aksara individu: ["5", "9", "5"]. Akibatnya, hujah rentetan kaedah .join() disisipkan antara aksara ini, menghasilkan output yang diperhatikan.

Kaedah Alternatif:

Jika niat anda adalah untuk gabungkan rentetan "595" kepada rentetan yang dijana, sebaliknya anda harus menggunakan operator:

print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))).tostring() + strid)
Salin selepas log masuk

Ini akan menggabungkan dua rentetan dengan betul, menghasilkan rentetan tunggal dengan kandungan yang diingini.

Atas ialah kandungan terperinci Mengapa Adakah .join() Memasukkan Aksara Antara Elemen Daripada Menambah Rentetan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan