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 hash()
Python Program to Check If a String Is a Number (Float)
Python oct()
Python filter()
Python Program to Create a Long Multiline String
Python Program to Merge Two Dictionaries
Python super()
Python callable()
Python Program to Count the Number of Digits Present In a Number
Java – Get Random Item/Element From a List
Python Deep Learning - Valentino Zocca & Gianmario Spacagna & Daniel Slater & Peter Roelants
Python Program to Display Fibonacci Sequence Using Recursion
Python time Module
Finding Max/Min of a List or Collection
Python Program to Check the File Size
Python List remove()
Python Program to Make a Flattened List from Nested List
Python Program to Count the Number of Each Vowel
Python String strip()
Python Program to Represent enum
How to Find an Element in a List with Java
Python map()
Python Program to Convert String to Datetime
Python sleep()
Python Program to Find Sum of Natural Numbers Using Recursion
Python timestamp to datetime and vice-versa
Python @property decorator
Python list()
Python String format()
Python Dictionary popitem()
Machine Learning with Python for everyone - Mark E.Fenner
Python while Loop