Cara Mengonversi Daftar menjadi String dengan Python (metode gabungan)

Pelajari cara mengonversi daftar string atau angka menjadi string tunggal dengan Python. Kuasai metode join(), konversi peta, dan pemformatan khusus.

Coba Solusi ini di Editor

Ikhtisar

Selama pemrosesan teks, pembuatan log, atau pembuatan UI, Anda sering kali perlu menggabungkan kumpulan nilai ke dalam satu string berformat. Misalnya, mengubah daftar kata kunci menjadi string tag yang dipisahkan koma, atau menggabungkan daftar karakter menjadi satu kata. Python menyediakan metode string bawaan yang sangat efisien yang disebut `.join()` untuk menangani tugas ini.

Sintaks untuk bergabung adalah `separator.join(my_list)`, dengan `separator` adalah string yang ingin Anda tempatkan antar elemen. Tidak seperti banyak bahasa di mana metode join dipanggil pada daftar itu sendiri, dalam Python, `.join()` adalah metode pada *pemisah string*. Desain ini memungkinkan metode untuk bekerja pada wadah apa pun yang dapat diubah (daftar, tupel, set) tanpa memaksa implementasi daftar untuk memahami struktur string.

Kesalahan umum terjadi ketika mencoba menggabungkan daftar yang berisi elemen non-string (seperti bilangan bulat). Metode `.join()` memunculkan `TypeError` jika ada elemen dalam iterable yang bukan string. Untuk mengatasinya, Anda harus mengonversi item menjadi string terlebih dahulu. Cara paling pythonic untuk mencapai hal ini adalah dengan meneruskan ekspresi generator atau menggunakan `map(str, my_list)` di dalam panggilan `.join()`.

Kode & Output Eksekusi

Skrip ini menunjukkan penggabungan elemen string, angka, dan pengelolaan pengecualian konversi.

list_to_string.py
Coba di Editor
words = ["Python", "is", "awesome"]
numbers = [1, 2, 3, 4]

# 1. Join a list of strings with spaces
joined_space = " ".join(words)
print("Space separator:", joined_space)

# 2. Join a list of strings with commas
joined_comma = ", ".join(words)
print("Comma separator:", joined_comma)

# 3. Join a list of numbers (requires mapping to string)
try:
    # This raises TypeError because numbers are integers
    invalid_join = "-".join(numbers)
except TypeError:
    print("Cannot join list containing non-string integers directly!")

# Correct way using map()
joined_numbers = "-".join(map(str, numbers))
print("Mapped numbers:", joined_numbers)
Keluaran Terminal
Space separator: Python is awesome
Comma separator: Python, is, awesome
Cannot join list containing non-string integers directly!
Mapped numbers: 1-2-3-4

Implementasi Langkah demi Langkah

  • Tentukan string pemisah Anda (misalnya, ' ' atau ', ').
  • Panggil metode .join(list) pada string pemisah itu.
  • Gunakan map(str, list) untuk mengonversi bilangan bulat atau nilai float apa pun dalam daftar menjadi string sebelum bergabung.

Pertanyaan yang Sering Diajukan

Mengapa bergabung dengan metode string dan bukan metode daftar di Python?

Dengan menjadikannya metode string, .join() dapat menerima objek apa pun yang dapat diubah (tupel, generator, set) selama objek tersebut menghasilkan string, sehingga menghindari duplikasi kode di seluruh tipe.

Apakah efisien untuk menggabungkan string menggunakan loop dan operator +=?

Tidak, += berulang kali membuat objek string baru di memori karena string tidak dapat diubah. Menggunakan .join() mengalokasikan memori satu kali dan jauh lebih cepat.

Topik Terkait

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.