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 arei
toi + chunk_size
which is 0 to(0 + 2)th
index. 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 Program to Measure the Elapsed Time in Python
Python Dictionary values()
Python object()
Python Program to Check Leap Year
Python Program to Multiply Two Matrices
Python RegEx
Python String strip()
Python Generators
Python Set intersection()
Python callable()
Python Machine Learning Third Edition - Sebastian Raschka & Vahid Mirjalili
Python List remove()
Python Namespace and Scope
Python issubclass()
Python String zfill()
Applied Text Analysis with Python - Benjamin Benfort & Rebecca Bibro & Tony Ojeda
Python List append()
Python String casefold()
Python Function Arguments
Python Program to Find the Square Root
Python Program to Check If a String Is a Number (Float)
Python String encode()
Python Program to Get a Substring of a String
Python String rindex()
Python String lower()
Python compile()
Python frozenset()
Python String isupper()
Python Program to Randomly Select an Element From the List
Python ascii()
Python vars()
Python Errors and Built-in Exceptions