Python program to convert list of string to comma separated string

Python provides several methods to convert a list of strings into a comma-separated string. This is a common operation when you need to format data for display, CSV files, or string concatenation.

Understanding the Problem

When converting a list of strings to a comma-separated string, each element becomes part of a single string with commas as separators. For example, ["apple", "banana", "cherry"] becomes "apple, banana, cherry".

Method 1: Using join()

The join() method is the most efficient and pythonic approach. It combines all elements of an iterable into a single string using a specified separator ?

For String Lists

fruits = ["Apple", "Banana", "Mango", "Orange"]
comma_separated = ', '.join(fruits)

print("Original List:")
print(fruits)
print("Comma Separated String:")
print(comma_separated)
Original List:
['Apple', 'Banana', 'Mango', 'Orange']
Comma Separated String:
Apple, Banana, Mango, Orange

For Mixed Data Types

When your list contains non-string elements, convert them to strings first ?

numbers = [235, 3754, 856, 964]
comma_separated = ', '.join(str(num) for num in numbers)

print("Original List:")
print(numbers)
print("Comma Separated String:")
print(comma_separated)
Original List:
[235, 3754, 856, 964]
Comma Separated String:
235, 3754, 856, 964

Method 2: Using map() with join()

The map() function applies str() to each element, eliminating the need for list comprehension ?

data = [42, "hello", 3.14, True]
comma_separated = ', '.join(map(str, data))

print("Original List:")
print(data)
print("Comma Separated String:")
print(comma_separated)
Original List:
[42, 'hello', 3.14, True]
Comma Separated String:
42, hello, 3.14, True

Method 3: Using StringIO Module

The StringIO module treats strings like file objects, useful for CSV-style formatting ?

import io
import csv

items = ['apple', 'banana', 'cherry', 'date']
string_io = io.StringIO()
writer = csv.writer(string_io)
writer.writerow(items)
comma_separated = string_io.getvalue().strip()

print("Original List:")
print(items)
print("Comma Separated String:")
print(comma_separated)
Original List:
['apple', 'banana', 'cherry', 'date']
Comma Separated String:
apple,banana,cherry,date

Method 4: Using Print with StringIO

Combine the unpack operator with print() and StringIO for another approach ?

import io

numbers = [8, 9, 4, 1]
string_io = io.StringIO()
print(*numbers, file=string_io, sep=', ', end='')
comma_separated = string_io.getvalue()

print("Original List:")
print(numbers)
print("Comma Separated String:")
print(comma_separated)
Original List:
[8, 9, 4, 1]
Comma Separated String:
8, 9, 4, 1

Comparison

Method Best For Performance Readability
join() Most cases Fastest High
map() + join() Mixed data types Fast High
StringIO + csv CSV formatting Slower Medium
StringIO + print Custom separators Slower Medium

Conclusion

The join() method is the most efficient and readable approach for converting lists to comma-separated strings. Use map(str, list) when dealing with mixed data types, and consider StringIO methods only for specialized CSV formatting needs.

Updated on: 2026-03-27T01:36:11+05:30

637 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements