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 Inheritance
Python Program to Create Pyramid Patterns
Python Statement, Indentation and Comments
Python Program to Find HCF or GCD
Python range()
Removing all Nulls from a List in Java
Python hasattr()
Python String index()
Python List
Python List index()
Python String rjust()
Python print()
Join and Split Arrays and Collections in Java
Python String strip()
Python ascii()
Python datetime
Python String isalpha()
Python Dictionary pop()
Python Dictionary update()
Convert a Map to an Array, List or Set in Java
Python Dictionary get()
Python abs()
Python all()
Python List clear()
Converting between an Array and a List in Java
Python String rfind()
Python format()
Python strptime()
Python Program to Find the Size (Resolution) of a Image
Python any()
Python Set difference_update()
Python bool()