Split String into List of characters in Python
We are given a string and our task is to split this string into a list of its individual characters, this can happen when we want to analyze or manipulate each character separately. For example, if we have a string like this: 'gfg' then the output will be ['g', 'f', 'g'].
Using List
The simplest way to convert a string into a list of characters in Python is to use the built-in list() function, which directly converts each character in the string to a list element.
s = "hello"
a = list(s)
print(a)
Output
['h', 'e', 'l', 'l', 'o']
Explanation:
- list(s) splits the string into individual characters.
- 'hello' becomes ['h', 'e', 'l', 'l', 'o'].
Using List Comprehension
List comprehension provides a shorter and clearer syntax compared to the traditional loop approach.
s = "hello"
a = [char for char in s]
print(a)
Output
['h', 'e', 'l', 'l', 'o']
Explanation:
- [char for char in s] iterates over each character in s.
- char is added to the list for each iteration, producing the list of characters.
Using Unpacking Operator *
The unpacking operator * can be used to split a string into a list of characters in a single line. This approach is compact and works well for quickly converting a string to a list.
s = "hello"
a = [*s]
print(a)
Output
['h', 'e', 'l', 'l', 'o']
Explanation: [ *s ] unpacks each character in the string s into a list.
Using a Loop
We can also use a simple loop (for loop) to convert string into list of characters. This method is useful when we want to include additional logic within the loop.
s = "hello"
a = []
for char in s:
a.append(char)
print(a)
Output
['h', 'e', 'l', 'l', 'o']
Explanation: This code splits the string s = "hello" into a list of characters by iterating through each character and appending it to the list a.
Related Articles:
- Python list() Function
- Python For Loops
- List Comprehension in Python
- Packing and Unpacking Arguments in Python