Product of two Dictionary Keys in Python

Finding the product of dictionary values in Python involves filtering dictionary entries based on specific conditions and then calculating the product of the filtered values. This is useful when you need to perform mathematical operations on subsets of dictionary data.

Understanding Dictionary Structure

A dictionary stores data as key-value pairs. Each key is unique and maps to a specific value ?

fruits = {
    'apple': 5,
    'banana': 10,
    'orange': 3,
    'grape': 8
}
print("Dictionary keys:", list(fruits.keys()))
print("Dictionary values:", list(fruits.values()))
Dictionary keys: ['apple', 'banana', 'orange', 'grape']
Dictionary values: [5, 10, 3, 8]

Method 1: Using Dictionary Comprehension

Filter dictionary keys based on conditions and calculate the product of their values ?

fruits = {
    'apple': 5,
    'banana': 10,
    'orange': 3,
    'grape': 8
}

# Filter keys with values >= 5
filtered_keys = [key for key in fruits.keys() if fruits[key] >= 5]
print("Filtered keys:", filtered_keys)

# Calculate product
product = 1
for key in filtered_keys:
    product *= fruits[key]

print("Product of selected values:", product)
Filtered keys: ['apple', 'banana', 'grape']
Product of selected values: 400

Method 2: Direct Value Filtering

Extract values directly without storing intermediate keys ?

fruits = {
    'apple': 5,
    'banana': 10,
    'orange': 3,
    'grape': 8
}

# Filter values directly
filtered_values = [value for key, value in fruits.items() if value >= 5]
print("Filtered values:", filtered_values)

# Calculate product
product = 1
for value in filtered_values:
    product *= value

print("Product of filtered values:", product)
Filtered values: [5, 10, 8]
Product of filtered values: 400

Method 3: Using functools.reduce()

Calculate the product in a single line using the reduce function ?

from functools import reduce
import operator

fruits = {
    'apple': 5,
    'banana': 10,
    'orange': 3,
    'grape': 8
}

# Filter and calculate product in one step
filtered_values = [value for value in fruits.values() if value >= 5]
product = reduce(operator.mul, filtered_values, 1)

print("Filtered values:", filtered_values)
print("Product using reduce:", product)
Filtered values: [5, 10, 8]
Product using reduce: 400

Method 4: Product of Specific Keys

Calculate the product of values for specific dictionary keys ?

fruits = {
    'apple': 5,
    'banana': 10,
    'orange': 3,
    'grape': 8
}

# Specify keys to include in product
target_keys = ['apple', 'banana']
product = 1

for key in target_keys:
    if key in fruits:
        product *= fruits[key]
        print(f"Including {key}: {fruits[key]}")

print("Product of specified keys:", product)
Including apple: 5
Including banana: 10
Product of specified keys: 50

Comparison of Methods

Method Best For Performance Readability
Dictionary Comprehension Conditional filtering Good High
Direct Value Filtering Simple value conditions Better High
functools.reduce() Functional programming Best Medium
Specific Keys Known key subset Good High

Conclusion

Use dictionary comprehension for readable conditional filtering. For better performance with large datasets, consider functools.reduce(). Choose the method that best fits your specific use case and coding style preferences.

Updated on: 2026-03-27T10:20:24+05:30

290 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements