Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Python | Split string in groups of n consecutive characters

  • Difficulty Level : Basic
  • Last Updated : 24 Jun, 2020

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

Examples:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

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






# Python code to split string
# by every 3rd 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)
Output:
['Gee', 'ksf', 'org', 'eek', 's']

 
Method #2: Using zip_longest




# 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 separated 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)
Output:
['123G', 'eeks', 'ForG', 'eeks', '4567']



My Personal Notes arrow_drop_up
Recommended Articles
Page :