Python | Convert String to N chunks tuple

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 stringtest_string = "ggggffffgggg"# printing original stringprint("The original string : " + str(test_string))# initialize NN = 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 resultprint("Chunked String into tuple : " + str(res)) |
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 stringtest_string = "ggggffffgggg"# printing original stringprint("The original string : " + str(test_string))# initialize NN = 4# Convert String to N chunks tuple# Using zip() + iter() + join() + list comprehensionres = tuple([''.join(ele) for ele in zip(*[iter(test_string)] * N)])# printing resultprint("Chunked String into tuple : " + str(res)) |
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)



