VOOZH about

URL: https://www.geeksforgeeks.org/python/python-itertools-islice/

⇱ Python - Itertools.islice() - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Python - Itertools.islice()

Last Updated : 20 Mar, 2026

islice() is a function from Python’s built-in itertools module. It is used to slice an iterator without converting it into a list. Unlike normal slicing ([:]), it works directly on iterators like range(), generators or file objects. It returns selected elements one by one, making it memory-efficient and suitable for large data.

Example: In this example, we print the first 5 values from a range object using islice().


Output
0
1
2
3
4

Explanation:

  • range(10) creates numbers from 0 to 9.
  • islice(range(10), 5) selects the first 5 elements.
  • The loop prints values from 0 to 4.

Syntax

islice(iterable, start, stop, step)

Parameters:

  • iterable: The iterator or iterable to slice.
  • start(optional): Starting index.
  • stop(not included): Ending index.
  • step(optional): Number of elements to skip.

Note: If only one number is given after iterable, it is treated as the stop value.

Examples

Example 1: This example selects elements from index 2 to index 6 (excluding 6) from a list.


Output
[30, 40, 50, 60]

Explanation: islice(lst, 2, 6) starts from index 2 and stops before index 6, returning the selected elements.

Example 2: This example selects elements from index 1 to 8 with a step of 2, meaning every second element is chosen.


Output
1
3
5
7

Explanation: islice(range(10), 1, 8, 2) starts at index 1, stops before 8 and skips 2 steps each time, selecting alternate elements.

Example 3: This example uses islice() on a generator. The generator produces square numbers and we extract only a specific portion of those generated values without storing everything in memory.


Output
[9, 16, 25, 36]

Explanation:

  • sq(10) generates squares from 0 to 81.
  • islice(g, 3, 7) skips the first 3 generated values and returns elements from index 3 to 6.
  • Since it works directly on the generator g, it does not store all values in memory.
Comment
Article Tags: