Python Program to Accessing K Element in set without Deletion

In Python, a set is an unordered collection of unique elements, represented by {}. It allows efficient membership testing and eliminates duplicate values, making it useful for tasks such as removing duplicates or checking for common elements between sets.

In this article, we will learn how to access the Kth element in a set without deletion in Python. Since sets are unordered, "accessing the Kth element" means finding the element at the Kth position when the set is iterated.

Example Scenario

Let's assume we have an input set and want to find the Kth element without deleting any elements ?

Input

inputSet = {3, 9, 5, 1, 2, 8}
k = 3  # Find element at 3rd position (0-indexed)

Output

Input Set: {1, 2, 3, 5, 8, 9}
The element at position 3 in the set: 5

Methods Used

The following are the various methods to accomplish this task:

  • Using for loop with enumeration

  • Using next() and iter() functions

  • Using list() conversion and indexing

Method 1: Using For Loop with Enumeration

In this method, we use a simple for loop to iterate through the set and find the element at the Kth position ?

Example

# Input set
inputSet = {3, 9, 5, 1, 2, 8}
print("Input Set:", inputSet)

# Position to find (0-indexed)
k = 3

# Initialize position counter
position = 0

# Traverse through each element of the input set
for element in inputSet:
    if position == k:
        result_element = element
        break
    position += 1

print(f"The element at position {k} in the set: {result_element}")
Input Set: {1, 2, 3, 5, 8, 9}
The element at position 3 in the set: 5

Method 2: Using next() and iter() Functions

The iter() function converts an iterable to an iterator, and next() retrieves the next item from the iterator ?

Syntax

iter(object, sentinel)  # Returns iterator object
next(iterator)          # Returns next item

Example

# Input set
inputSet = {3, 9, 5, 1, 2, 8}
print("Input Set:", inputSet)

# Position to find
k = 3

# Convert input set to iterator
setIter = iter(inputSet)

# Use next() to get element at kth position
for i in range(k + 1):
    element = next(setIter)

print(f"The element at position {k} in the set: {element}")
Input Set: {1, 2, 3, 5, 8, 9}
The element at position 3 in the set: 5

Method 3: Using list() and Direct Indexing

The most straightforward approach is to convert the set to a list and use direct indexing ?

Example

# Input set
inputSet = {3, 9, 5, 1, 2, 8}
print("Input Set:", inputSet)

# Position to find
k = 3

# Convert input set to list
setElementsList = list(inputSet)

# Get element at kth position using direct indexing
result_element = setElementsList[k]

print(f"The element at position {k} in the set: {result_element}")
Input Set: {1, 2, 3, 5, 8, 9}
The element at position 3 in the set: 5

Comparison

Method Time Complexity Memory Usage Best For
For Loop O(k) Low Large sets, small k
next() + iter() O(k) Low Memory-efficient access
list() + indexing O(n) High Multiple access operations

Conclusion

Use the for loop method for memory-efficient access to single elements. The list conversion method is best when you need to access multiple elements. Remember that sets are unordered, so the "Kth element" depends on Python's internal ordering.

Updated on: 2026-03-27T12:51:22+05:30

182 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements