Open In App

Python | Splitting string to list of characters

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Sometimes we need to work with just the lists and hence strings might need to be converted into lists. It has to be converted in list of characters for certain tasks to be performed. This is generally required in Machine Learning to preprocess data and text classifications. Let’s discuss certain ways in which this task is performed.

Method #1: Using list slicing

List slicing can be used for this particular purpose, in which we assign to each index element of list the next occurring character of string using the slice operation. 

Python3




# Python3 code to demonstrate
# splitting string to list of characters.
# using list slicing
 
# initializing string
test_string = "GeeksforGeeks"
 
# printing original string
print("The original string is : " + str(test_string))
 
# using list slicing
# for splitting string to list of characters
res = []
res[:] = test_string
 
# printing result
print("The resultant list of characters : " + str(res))


Output

The original string is : GeeksforGeeks
The resultant list of characters : ['G', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'G', 'e', 'e', 'k', 's']

The time complexity of this code is O(n), where n is the length of the input string, 

The auxiliary space complexity of this code is also O(n), because a new list of length n is created to store the characters from the input string.

Method #2: Using list() 

The most concise and readable way to perform splitting is to type case string into list and the splitting of list is automatically handled internally. This is recommended method to perform this particular task. 

Python3




# Python3 code to demonstrate
# splitting string to list of characters.
# using list()
 
# initializing string
test_string = "GeeksforGeeks"
 
# printing original string
print("The original string is : " + str(test_string))
 
# using list()
# for splitting string to list of characters
res = list(test_string)
 
# printing result
print("The resultant list of characters : " + str(res))


Output

The original string is : GeeksforGeeks
The resultant list of characters : ['G', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'G', 'e', 'e', 'k', 's']

Time Complexity: O(n) where n is the length of the input string.

Auxiliary Space: O(n)

Method #3: Using map() + lambda

This is yet another way to perform this particular task. Though not recommended but can be used in certain situations. But drawback is readability of code gets sacrificed.  

Python3




# Python3 code to demonstrate
# splitting string to list of characters.
# using map() + lambda
 
# initializing string
test_string = "GeeksforGeeks"
 
# printing original string
print ("The original string is : " + str(test_string))
 
# using map() + lambda
# for splitting string to list of characters
res = list(map(lambda i:i, test_string))
 
# printing result
print ("The resultant list of characters : " + str(res))


Output

The original string is : GeeksforGeeks
The resultant list of characters : ['G', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'G', 'e', 'e', 'k', 's']

Method#4: Using join() + split() method

We can use above mention method to split the string in list of character. Join is used to add the space between the character of string and split is used to split the character between space in string. 

Python3




# Python3 code to demonstrate
# splitting string to list of characters.
# using join + split ()
 
# initializing string
test_string = "GeeksforGeeks"
 
# printing original string
print("The original string is : " + str(test_string))
 
# using join + split() method
# for splitting string to list of characters
test_string = " ".join(test_string)
res = test_string.split(" ")
 
# printing result
print("The resultant list of characters : " + str(res))


Output

The original string is : GeeksforGeeks
The resultant list of characters : ['G', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'G', 'e', 'e', 'k', 's']

Method#5: Using re.findall() method: We can use above mention method to find all character in the string and form a list of characters.

Python




# Python3 code to demonstrate
# splitting string to list of characters.
# using re.findall()
import re
 
# initializing string
test_string = "GeeksforGeeks"
 
# printing original string
print("The original string is : " + str(test_string))
 
# using re.findall()
# for finding all character in string and form list
res = re.findall(r'[a-zA-z]', test_string)
 
# printing result
print("The resultant list of characters : " + str(res))


Output

The original string is : GeeksforGeeks
The resultant list of characters : ['G', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'G', 'e', 'e', 'k', 's']

Method #6 : Using for loop

Python3




# Python3 code to demonstrate
# split string to character list
 
# initializing string
test_string = 'GeeksforGeeks'
 
# printing the original string
print("The original string is : " + str(test_string))
 
res = []
for i in test_string:
    res.append(i)
# printing result
print("The splitted character's list is : " + str(res))


Output

The original string is : GeeksforGeeks
The splitted character's list is : ['G', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'G', 'e', 'e', 'k', 's']


Last Updated : 12 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads