Table of Contents
In this example, you will learn to split a list into evenly sized chunks in different ways.
To understand this example, you should have the knowledge of the following Python programming topics:
1. Example 1: Using yield
def split(list_a, chunk_size):
for i in range(0, len(list_a), chunk_size):
yield list_a[i:i + chunk_size]
chunk_size = 2
my_list = [1,2,3,4,5,6,7,8,9]
print(list(split(my_list, chunk_size)))
Output
[[1, 2], [3, 4], [5, 6], [7, 8], [9]]
In the above example, we have defined a function to split the list.
- Using a for loop and
range()method, iterate from 0 to the length of the list with the size of chunk as the step. - Return the chunks using
yield.list_a[i:i+chunk_size]gives each chunk. For example, wheni = 0, the items included in the chunk areitoi + chunk_sizewhich is 0 to(0 + 2)thindex. In the next iteration, the items included are 2 to2 + 2 = 4.
Learn more about yield at Python Generators.
You can do the same thing using list compression as below.
chunk_size = 2 list_chunked = [my_list[i:i + chunk_size] for i in range(0, len(my_list), chunk_size)] print(list_chunked)
Output
[[1, 2], [3, 4], [5, 6], [7, 8], [9]]
Learn more about list comprehension at Python List Comprehension.
2. Example 2: Using numpy
import numpy as np my_list = [1,2,3,4,5,6,7,8,9] print(np.array_split(my_list, 5))
Output
[array([1, 2]), array([3, 4]), array([5, 6]), array([7, 8]), array([9])]
array_split() is a numpy method that splits a list into equal sized chunks. Here, the size of the chunk is 5.
Note: You need to install numpy on your system.
Related posts:
Python frozenset()
Python Program to Find the Sum of Natural Numbers
Python Program to Convert String to Datetime
Python String ljust()
Python String isidentifier()
Python String isalpha()
Python slice()
Python Program to Represent enum
Python Program to Illustrate Different Set Operations
Python String istitle()
Python delattr()
Python enumerate()
Python Machine Learning - Sebastian Raschka
Python object()
Python sum()
Python Program to Create a Long Multiline String
Applied Text Analysis with Python - Benjamin Benfort & Rebecca Bibro & Tony Ojeda
Python Set symmetric_difference_update()
Python String startswith()
Python Set discard()
Python Program to Safely Create a Nested Directory
Convert a Map to an Array, List or Set in Java
Python Recursion
Python issubclass()
Python format()
Python Program to Check the File Size
Python Dictionary
Python id()
Python Custom Exceptions
Python Set update()
Python setattr()
Python Operators