Open In App

Python | Convert String to N chunks tuple

Last Updated : 05 Dec, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Sometimes, while working with Python Strings, we can have a problem in which we need to break a string to N sized chunks to a tuple. Let’s discuss certain ways in which this task can be performed. Method #1 : Using list comprehension + tuple This is one approach in which this task can be performed. In this, we just iterate the String and break the chunks of string and construct the tuple using tuple() in one-liner. 

Python3




# Python3 code to demonstrate working of
# Convert String to N chunks tuple
# Using list comprehension + tuple()
 
# initialize string
test_string = "ggggffffgggg"
 
# printing original string
print("The original string : " + str(test_string))
 
# initialize N
N = 4
 
# Convert String to N chunks tuple
# Using list comprehension + tuple()
res = tuple(test_string[i: i + N] for i in range(0, len(test_string), N))
 
# printing result
print("Chunked String into tuple : " + str(res))


Output : 

The original string : ggggffffgggg
Chunked String into tuple : ('gggg', 'ffff', 'gggg')

Time Complexity: O(n), where n is the length of string
Auxiliary Space: O(n)

Method #2 : Using zip() + iter() + join() + list comprehension The combination of above functions can also be used to perform this task. In this, we perform the act of making chunks using zip() + iter(). And cumulate the result using join(). 

Python3




# Python3 code to demonstrate working of
# Convert String to N chunks tuple
# Using zip() + iter() + join()+ list comprehension
 
# initialize string
test_string = "ggggffffgggg"
 
# printing original string
print("The original string : " + str(test_string))
 
# initialize N
N = 4
 
# Convert String to N chunks tuple
# Using zip() + iter() + join() + list comprehension
res = tuple([''.join(ele) for ele in zip(*[iter(test_string)] * N)])
 
# printing result
print("Chunked String into tuple : " + str(res))


Output : 

The original string : ggggffffgggg
Chunked String into tuple : ('gggg', 'ffff', 'gggg')

Time Complexity: O(n), where n is the length of the string
Auxiliary Space: O(n)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads