Python - Minimum value pairing for dictionary keys

The given problem is to find all dictionary keys that have the minimum value. For example, if multiple keys share the smallest value, we need to return all of them.

Understanding the Problem

We need to find keys associated with the minimum value in a dictionary. If multiple keys have the same minimum value, all such keys should be returned ?

# Example input
dictionary = {'a': 1, 'b': 2, 'c': 1, 'd': 4}
# Expected output: ['a', 'c'] (both have minimum value 1)

Algorithm

The approach involves two steps:

  • Step 1 Find the minimum value in the dictionary using min() function

  • Step 2 Iterate through the dictionary to collect all keys that have this minimum value

  • Step 3 Return the list of keys with minimum values

Implementation

def minimum_value_keys(dictionary):
    # Find the minimum value from the dictionary
    min_value = min(dictionary.values())
    
    # Find all keys that have the minimum value
    min_keys = [key for key, value in dictionary.items() if value == min_value]
    
    return min_keys

# Testing the function
my_dict = {'Python': 4, 'Java': 3, 'C++': 5, 'JavaScript': 2, 'Go': 2}
result = minimum_value_keys(my_dict)
print("Keys with minimum value:", result)
print("Minimum value:", min(my_dict.values()))
Keys with minimum value: ['JavaScript', 'Go']
Minimum value: 2

Alternative Approach Using min() with key Parameter

def minimum_value_keys_alternative(dictionary):
    if not dictionary:
        return []
    
    # Find minimum value
    min_val = min(dictionary.values())
    
    # Filter keys with minimum value
    return [k for k, v in dictionary.items() if v == min_val]

# Example with different data types
scores = {'Alice': 85, 'Bob': 92, 'Charlie': 85, 'David': 78, 'Eve': 78}
min_score_students = minimum_value_keys_alternative(scores)
print("Students with lowest score:", min_score_students)
Students with lowest score: ['David', 'Eve']

Complexity Analysis

The time complexity is O(n) where n is the number of key-value pairs. We iterate through the dictionary twice once to find the minimum value and once to collect matching keys. The space complexity is O(k) where k is the number of keys with minimum value.

Conclusion

This approach efficiently finds all dictionary keys associated with the minimum value using list comprehension. The solution handles cases where multiple keys share the same minimum value and returns them all in a single list.

Updated on: 2026-04-02T17:15:01+05:30

290 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements