Home > Backend Development > Python Tutorial > How Can I Split a Python List into Equally Sized Chunks?

How Can I Split a Python List into Equally Sized Chunks?

Mary-Kate Olsen
Release: 2024-12-21 05:54:08
Original
862 people have browsed it

How Can I Split a Python List into Equally Sized Chunks?

Splitting Lists into Chunks of Equal Size

Dividing an extensive list into equally-sized segments can be a common requirement in Python programming. The following methods demonstrate how to achieve this.

Generator-based Solution:

A convenient option is to utilize a generator function that yields chunks of the desired size. Here's the implementation:

def chunks(lst, n):
    """Yield successive n-sized chunks from lst."""
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
Copy after login

Example:

pprint.pprint(list(chunks(range(10, 75), 10)))
Copy after login

Output:

[[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
 [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
 [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
 [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
 [50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
 [60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
 [70, 71, 72, 73, 74]]
Copy after login

List Comprehension Approach:

While less readable than the function-based solution, a one-liner using list comprehension is also possible:

[lst[i:i + n] for i in range(0, len(lst), n)]
Copy after login

For Python 2 compatibility, replace range with xrange.

The above is the detailed content of How Can I Split a Python List into Equally Sized Chunks?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template