Home > Backend Development > Python Tutorial > How to Elegantly Extract Every Nth Item from a List in Python with Slicing?

How to Elegantly Extract Every Nth Item from a List in Python with Slicing?

Barbara Streisand
Release: 2024-10-20 11:38:30
Original
983 people have browsed it

How to Elegantly Extract Every Nth Item from a List in Python with Slicing?

One-Liner Approach to Extracting Every Nth Item in a List

In Python, creating a new list containing every Nth item in an original list can be achieved through various methods. While a for loop is a straightforward option, it may not be the most efficient or concise approach.

A more elegant and computationally efficient solution is to utilize Python's slicing syntax. Consider a list of integers ranging from 0 to 1000:

<code class="python">xs = list(range(1000))</code>
Copy after login

To extract the first and every subsequent 10th item, you can use the following code:

<code class="python">xs[0::10]</code>
Copy after login

This slicing notation indicates that you want to start at index 0 and retrieve items at intervals of 10. The result is a new list containing the desired elements:

<code class="python">[0, 10, 20, 30, ..., 990]</code>
Copy after login

This slicing approach is not only concise but also significantly faster than using a loop. Performance benchmarks show that it is approximately 100 times faster than iterating over the list and checking a modulus for each element.

The above is the detailed content of How to Elegantly Extract Every Nth Item from a List in Python with Slicing?. For more information, please follow other related articles on the PHP Chinese website!

source:php
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