Python | Split string in groups of n consecutive characters

Given a string (be it either string of numbers or characters), write a Python program to split the string by every nth character.

Examples:

Input : str = "Geeksforgeeks", n = 3
Output : ['Gee', 'ksf', 'oor', 'gee', 'ks']

Input : str = "1234567891234567", n = 4
Output : [1234, 5678, 9123, 4567]

 
Method #1: Using list comprehension



filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to split string
# by every 3th number
  
# String initialization
string = "Geeksforgeeks"
  
# Defining splitting point
n = 3
  
# Using list comprehension
out = [(string[i:i+n]) for i in range(0, len(string), n)]
  
# Printing output
print(out)

chevron_right


Output:

['Gee', 'ksf', 'org', 'eek', 's']

 
Method #2: Using zip_longest

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to split string of number
# and character into every 4th number
  
# Importing
from itertools import zip_longest
  
# Group function using zip_longest to split
def group(n, iterable, fillvalue=None):
    args = [iter(iterable)] * n
    return zip_longest(fillvalue=fillvalue, *args)
  
# String initialization
str = '123GeeksForGeeks4567'
  
# Split point
n=4
  
# list of seperated string
out_string = [''.join(lis) for lis in group(n, str, '')]
  
# Output list initialization
out_no = []
  
# Converting list of string into list of integer
for a in out_string:
    out_no.append(a)
  
# Printing list
print(out_no)

chevron_right


Output:

['123G', 'eeks', 'ForG', 'eeks', '4567']


My Personal Notes arrow_drop_up


If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.