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 Get the Full Path of the Current Working Directory
Python id()
Python eval()
Python Program to Differentiate Between type() and isinstance()
Python Program to Swap Two Variables
Python Program to Differentiate Between del, remove, and pop on a List
Python bytearray()
Python Numbers, Type Conversion and Mathematics
Python List pop()
Python Dictionary pop()
Python Program Read a File Line by Line Into a List
Python vars()
Python Iterators
Python String format_map()
Natural Language Processing with Python - Steven Bird & Ewan Klein & Edward Loper
Python List reverse()
Deep Learning in Python - LazyProgrammer
Python Program to Count the Number of Occurrence of a Character in String
Python Set issubset()
Python Program to Check if a Key is Already Present in a Dictionary
Python Program to Print Colored Text to the Terminal
APIs in Node.js vs Python - A Comparison
Python Dictionary
Python sorted()
Python Program to Represent enum
Python set()
Python any()
Python Program to Sort a Dictionary by Value
Python hash()
Python Program to Multiply Two Matrices
Python Program to Convert Kilometers to Miles
Python Dictionary items()