Open In App

Python | Split string in groups of n consecutive characters

Last Updated : 23 Mar, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

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', 'org', 'eek', 's']

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

Method #1: Using list comprehension 

Python3
# 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)

Method #2: Using zip_longest 

Python3
# 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']

Method 3: Using a for loop and string slicing.

  • Initialize an empty list to store the substrings.
  • Define the splitting point, i.e., n=3.
  • Create a for loop to iterate over the string.
  • In each iteration, append the substring to the list using string slicing.
  • Print the output list.
Python3
# Python code to split string
# by every 3rd number

# String initialization
string = "Geeksforgeeks"

# Defining splitting point
n = 3

# Using for loop and string slicing
out = []
for i in range(0, len(string), n):
    out.append(string[i:i+n])

# Printing output
print(out)

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

Time complexity: O(n), where n is the length of the input string. 
Auxiliary space: O(n), as we are storing each substring in a list.


Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy