Open In App

Access Two Elements at a Time - Python

Last Updated : 24 Dec, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

In this article, we will check how to access two elements at a time from a collection, such as a list or tuple, which can be achieved through various methods. In this discussion, we'll explore different methods to achieve this task in Python.

Using Zip ()

zip() function in Python allows us to access two elements at a time by pairing elements from two separate lists. It efficiently combines corresponding elements from multiple sequences into tuples.

Example:

Python
a = [1, 2, 3, 4]
b=['a', 'b', 'c', 'd']
# Pair elements from a and b
for i,j in zip(a,b):
    print(i,j)

Output
1 a
2 b
3 c
4 d

Explanation:

  • This pairs elements from lists a and b.
  • For loop prints each pair of elements.

Using itertools.pairwise()

itertools.pairwise() function in Python allows us to access two adjacent elements at a time from an iterable efficiently. It provides a concise and optimized way to iterate over consecutive pairs in a sequence.

Example:

Python
from itertools import pairwise
a = [1, 2, 3, 4, 5]
# Iterate through adjacent pairs in the list
for i, j in pairwise(a):
    print(a, b)

Output:

1 2 
2 3
3 4
4 5

Explanation:

  • This code generates adjacent pairs from the list a.
  • Loop attempts to print a and b, but it should print i and j instead to show the pairs.

using range()

range() with list slicing allows efficient access to adjacent elements in a single list.

Example:

Python
a = [1, 2, 3, 4, 5]
# Access adjacent elements using range()
for i in range(0, len(a) - 1, 2):
    print(a[i], a[i + 1])

Output
1 2
3 4

Explanation:

  • Iterates with a step of 2 to access adjacent elements.
  • Loop prints pairs of consecutive elements, with the final element printed alone.

Using list Comprehension

List comprehension allows us to generate pairs of adjacent elements from a list in a concise way. It creates a new list of pairs by iterating with a step of 2.

Example:

Python
a = [1, 2, 3, 4, 5]
# Generate pairs of adjacent elements
pairs = [(a[i], a[i + 1]) for i in range(0, len(a) - 1, 2)]
print(pairs)

Output
[(1, 2), (3, 4)]

Explanation:

  • This creates pairs of adjacent elements from a with a step of 2.
  • Pairs are stored in the pairs list and printed.

Practice Tags :

Similar Reads