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 for Programmers with introductory AI case studies - Paul Deitel & Harvey Deitel
How to Get Started With Python?
Java List UnsupportedOperationException
Python Program to Multiply Two Matrices
Python Data Structures and Algorithms - Benjamin Baka
Python String format()
Python String strip()
Java – Get Random Item/Element From a List
Python filter()
Python Exception Handling Using try, except and finally statement
Python Package
Python Dictionary pop()
Finding Max/Min of a List or Collection
Python Set symmetric_difference_update()
Python set()
Python Program to Differentiate Between type() and isinstance()
Python Deep Learning Cookbook - Indra den Bakker
Python Program to Make a Flattened List from Nested List
Machine Learning Applications Using Python - Cases studies form Healthcare, Retail, and Finance - Pu...
Python Set intersection_update()
Python setattr()
Intelligent Projects Using Python - Santanu Pattanayak
Python List pop()
Python Operator Overloading
Python Program to Parse a String to a Float or Int
Python Decorators
Python for Loop
Python repr()
Python Program to Find Factorial of Number Using Recursion
Python Program to Iterate Over Dictionaries Using for Loop
Python String partition()
Python compile()