Skip to content
Related Articles

Related Articles

Python | Split a list into sublists of given lengths
  • Last Updated : 03 Apr, 2019

The problem of splitting a list into sublists is quite generic but to split in sublist of given length is not so common. Given a list of lists and list of length, the task is to split the list into sublists of given length.

Example:

Input : Input = [1, 2, 3, 4, 5, 6, 7]
        length_to_split = [2, 1, 3, 1]

Output: [[1, 2], [3], [4, 5, 6], [7]]

 

Method #1: Using islice to split a list into sublists of given length, is the most elegant way.




# Python code to split a list
# into sublists of given length.
  
from itertools import islice
  
# Input list initialization
Input = [1, 2, 3, 4, 5, 6, 7]
  
# list of length in which we have to split
length_to_split = [2, 1, 3, 1]
  
# Using islice
Inputt = iter(Input)
Output = [list(islice(Inputt, elem))
          for elem in length_to_split]
  
# Printing Output
print("Initial list is:", Input)
print("Split length list: ", length_to_split)
print("List after splitting", Output)
Output:



Initial list is: [1, 2, 3, 4, 5, 6, 7]
Split length list:  [2, 1, 3, 1]
List after splitting [[1, 2], [3], [4, 5, 6], [7]]

 
Method #2: Using zip is another way to split a list into sublists of given length.




# Python code to split a list into
# sublists of given length.
from itertools import accumulate
  
# Input list initialization
Input = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  
# list of length in which we have to split
length_to_split = [2, 2, 3, 3]
  
# Using islice
Output = [Input[x - y: x] for x, y in zip(
          accumulate(length_to_split), length_to_split)]
  
# Printing Output
print("Initial list is:", Input)
print("Split length list: ", length_to_split)
print("List after splitting", Output)
Output:
Initial list is: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Split length list:  [2, 2, 3, 3]
List after splitting [[1, 2], [3, 4], [5, 6, 7], [8, 9, 10]]

 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

My Personal Notes arrow_drop_up
Recommended Articles
Page :