w3resource

Python: Split a given list into specified sized chunks using itertools module


40. Split List into Chunks

Write a Python program to split a given list into specified sized chunks using the itertools module.

Sample Solution:

Python Code:

from itertools import islice
def split_list(lst, n):
    lst = iter(lst)
    result = iter(lambda: tuple(islice(lst, n)), ())
    return list(result)

nums = [12,45,23,67,78,90,45,32,100,76,38,62,73,29,83]
print("Original list:")
print(nums)
n = 3
print("\nSplit the said list into equal size",n)
print(split_list(nums,n))
n = 4
print("\nSplit the said list into equal size",n)
print(split_list(nums,n))
n = 5
print("\nSplit the said list into equal size",n)
print(split_list(nums,n))

Sample Output:

Original list:
[12, 45, 23, 67, 78, 90, 45, 32, 100, 76, 38, 62, 73, 29, 83]

Split the said list into equal size 3
[(12, 45, 23), (67, 78, 90), (45, 32, 100), (76, 38, 62), (73, 29, 83)]

Split the said list into equal size 4
[(12, 45, 23, 67), (78, 90, 45, 32), (100, 76, 38, 62), (73, 29, 83)]

Split the said list into equal size 5
[(12, 45, 23, 67, 78), (90, 45, 32, 100, 76), (38, 62, 73, 29, 83)]

For more Practice: Solve these Related Problems:

  • Write a Python program to split a list into chunks of a specified size using itertools and then convert each chunk into a tuple.
  • Write a Python program to divide a list into several smaller lists of equal size and then map a function to reverse each chunk.
  • Write a Python program to create an iterator that splits a list into chunks and then filters out chunks that do not meet a minimum length.
  • Write a Python program to use itertools to partition a list into fixed-sized segments and then compute the sum of each segment.

Go to:

Previous: Write a Python program to get the index of the first element, which is greater than a specified element using itertools module.

Next: Write a Python program to find all lower and upper mixed case combinations of a given string.

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.