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 Find the Factorial of a Number
Python Program to Find Numbers Divisible by Another Number
Python Iterators
Python Program to Make a Flattened List from Nested List
Python String isalpha()
Python Program to Print Colored Text to the Terminal
Python Set difference_update()
Python Program to Catch Multiple Exceptions in One Line
Python break and continue
Python Function Arguments
Python Directory and Files Management
Python Program to Find ASCII Value of Character
Python Decorators
Python List append()
Python Data Analytics with Pandas, NumPy and Matplotlib - Fabio Nelli
Python Program to Find the Largest Among Three Numbers
Python Program to Convert Kilometers to Miles
Python Program to Find the Factors of a Number
Python super()
Python Program to Display the multiplication Table
Python String splitlines()
Python Program to Generate a Random Number
Python List index()
Python Program to Merge Two Dictionaries
Python String isspace()
Python bytearray()
Python Program to Append to a File
Python Tuple
Python Program to Find Hash of File
Deep Learning with Python - Francois Chollet
Python String casefold()
Python Program to Concatenate Two Lists