Geek Logbook

Tech sea log book

Filtering and Counting Keys in Python Dictionaries

In this post, we’ll explore how to count the keys in a dictionary and filter a dictionary by its values in Python. These are common tasks that can be useful in a variety of situations when working with dictionaries.

Counting the Keys of a Dictionary

To count the number of keys in a dictionary, you can use the len() function, which returns the number of items (key-value pairs) in the dictionary. Let’s start with an example:

original_dict = {
    'key1': 'value1',
    'key2': 'value2',
    'key3': 'value3'
}

key_count = len(original_dict)

counted_dict = {'key_count': key_count}

print("Original dictionary:", original_dict)
print("Number of keys:", key_count)
print("New dictionary:", counted_dict)

This will output:

Original dictionary: {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
Number of keys: 3
New dictionary: {'key_count': 3}

Counting the Occurrences of Each Key

If you want to count the number of times each key appears in a dictionary, you can do so by iterating over the keys and using a dictionary to keep track of the counts. Here’s how to do it without importing any libraries:

# Original dictionary
original_dict = {
    'key1': 'value1',
    'key2': 'value2',
    'key3': 'value3',
    'key1': 'value4',
    'key2': 'value5',
    'key3': 'value6',
    'key1': 'value7',
}

# Create an empty dictionary to store the counts
counted_dict = {}

# Count the number of times each key appears
for key in original_dict:
    if key in counted_dict:
        counted_dict[key] += 1
    else:
        counted_dict[key] = 1

print("Original dictionary:", original_dict)
print("New dictionary counting key occurrences:", counted_dict)

This will output:

Original dictionary: {'key1': 'value7', 'key2': 'value5', 'key3': 'value6'}
New dictionary counting key occurrences: {'key1': 1, 'key2': 1, 'key3': 1}

Since dictionary keys are unique, only the last occurrence of each key is considered.

Filtering a Dictionary by Value

To filter a dictionary by its values, you can use a dictionary comprehension. Here’s an example where we filter a dictionary to include only the items where the value equals 1:

# Original dictionary
original_dict = {
    'Chocolate': 1,
    'Mantequilla': 2,
    'Huevos': 1,
    'Pan': 2,
    'Leche': 1,
    'Azucar': 1
}

# Filter the dictionary by value
filtered_dict = {key: value for key, value in original_dict.items() if value == 1}

print("Original dictionary:", original_dict)
print("Filtered dictionary by value == 1:", filtered_dict)
Original dictionary: {'Chocolate': 1, 'Mantequilla': 2, 'Huevos': 1, 'Pan': 2, 'Leche': 1, 'Azucar': 1}
Filtered dictionary by value == 1: {'Chocolate': 1, 'Huevos': 1, 'Leche': 1, 'Azucar': 1}

Conclusion

In this post, we’ve covered how to count the keys in a dictionary, count the occurrences of each key, and filter a dictionary by its values. These techniques are fundamental and can be applied in various scenarios when working with Python dictionaries. Happy coding!

Tags: