Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การแปลงลิสต์ตัวอักษรเป็นสตริงใน Python (str.join)

Python มีฟังก์ชัน built-in str.join() สำหรับรวมสมาชิกใน sequence ให้เป็นสตริง โดยใส่ separator (ตัวคั่น) ระหว่างสมาชิก หากไม่ต้องการ separator ใช้สตริงว่าง ''

ตัวอย่าง: รวมโดยไม่มีตัวคั่น

>> lst = ['h', 'e', 'l', 'l', 'o']
>>> ''.join(lst)
'hello'

ตัวอย่าง: รวมด้วยตัวคั่น

>> ', '.join(['apple', 'banana', 'cherry'])
'apple, banana, cherry'

>>> '-'.join(['2024', '01', '15'])
'2024-01-15'

ข้อจำกัด

  • สมาชิกทุกตัวใน iterable ต้องเป็น สตริง เท่านั้น
  • หากมีตัวเลข ต้องแปลงก่อน: ''.join(map(str, [1, 2, 3])) → '123'

ประสิทธิภาพ

join() เร็วกว่าการใช้ + ในลูปมาก เพราะ + สร้างสตริงใหม่ทุกรอบ (O(n²)) ในขณะที่ join() คำนวณขนาดรวมแล้ว allocate ครั้งเดียว (O(n))