Convert list of strings and characters to list of characters in Python

When working with lists, we may come across a situation where we have to process a string and get its individual characters for further processing. In this article we will see various ways to convert a list of strings and characters to a list of individual characters.

Using List Comprehension

We design a nested loop using list comprehension to go through each element of the list and another loop inside this to pick each character from the element which is a string ?

days = ['Mon', 'd', 'ay']

# Given list
print("Given list :", days)

# Get characters using nested list comprehension
result = [char for element in days for char in element]

# Result
print("List of characters:", result)

The output of the above code is ?

Given list : ['Mon', 'd', 'ay']
List of characters: ['M', 'o', 'n', 'd', 'a', 'y']

Using itertools.chain

The itertools module of Python provides the chain function. Using it we can flatten the list by extracting each character from the strings and put them into a new list ?

from itertools import chain

days = ['Mon', 'd', 'ay']

# Given list
print("Given list :", days)

# Get characters using chain
result = list(chain.from_iterable(days))

# Result
print("List of characters:", result)

The output of the above code is ?

Given list : ['Mon', 'd', 'ay']
List of characters: ['M', 'o', 'n', 'd', 'a', 'y']

Using join() Method

The join method can be used to combine all the elements into a single string and then apply the list function which will store each character as a separate element ?

days = ['Mon', 'd', 'ay']

# Given list
print("Given list :", days)

# Join all strings and convert to list of characters
result = list(''.join(days))

# Result
print("List of characters:", result)

The output of the above code is ?

Given list : ['Mon', 'd', 'ay']
List of characters: ['M', 'o', 'n', 'd', 'a', 'y']

Comparison

Method Readability Performance Best For
List Comprehension Good Fast Most Pythonic approach
itertools.chain Good Fast Large datasets
join() + list() Excellent Fastest Simple and clean code

Conclusion

All three methods effectively convert a list of strings to individual characters. The join() method is the most concise and fastest, while list comprehension offers the most Pythonic approach. Use itertools.chain for memory-efficient processing of large datasets.

Updated on: 2026-03-15T17:58:17+05:30

535 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements