Python- Percentage occurrence at index

In this article, we will learn how to calculate the percentage occurrence of a value at a specific index in a list. This computation helps analyze data distribution and patterns by determining how frequently the value at a given index appears throughout the entire list.

For Example:

data = [4, 2, 3, 1, 5, 6, 7]
print(f"List: {data}")
print(f"Value at index 2: {data[2]}")
List: [4, 2, 3, 1, 5, 6, 7]
Value at index 2: 3

The value 3 occurs at index 2 and appears only once in the entire list. The percentage occurrence is (1/7) × 100 = 14.29%.

Using Naive Iteration

This approach iterates through each element in the list, compares it with the value at the target index, and counts occurrences ?

def percentage_occurrence_naive(data, index):
    # Get the value at the specified index
    target_value = data[index]
    count = 0
    
    # Count occurrences of the target value
    for item in data:
        if item == target_value:
            count += 1
    
    # Calculate percentage
    percentage = (count / len(data)) * 100
    return percentage

# Example usage
data = [4, 2, 3, 1, 5, 6, 7]
index = 2
percentage = percentage_occurrence_naive(data, index)
print(f"Value {data[index]} at index {index} occurs {percentage:.2f}% of the time")
Value 3 at index 2 occurs 14.29% of the time

Using List Comprehension

This method uses list comprehension to filter elements that match the value at the target index, providing a more concise solution ?

def percentage_occurrence_comprehension(data, index):
    # Get the value at the specified index
    target_value = data[index]
    
    # Filter list to find matching items
    matching_items = [item for item in data if item == target_value]
    
    # Calculate percentage
    percentage = (len(matching_items) / len(data)) * 100
    return percentage

# Example usage
data = [4, 2, 3, 1, 5, 6, 7]
index = 2
percentage = percentage_occurrence_comprehension(data, index)
print(f"Value {data[index]} at index {index} occurs {percentage:.2f}% of the time")
Value 3 at index 2 occurs 14.29% of the time

Example with Repeated Values

Let's see how it works with a list containing repeated values ?

def percentage_occurrence(data, index):
    target_value = data[index]
    count = sum(1 for item in data if item == target_value)
    return (count / len(data)) * 100

# List with repeated values
data = [2, 5, 2, 8, 2, 1, 2]
index = 0  # Value 2 at index 0

percentage = percentage_occurrence(data, index)
print(f"List: {data}")
print(f"Value {data[index]} at index {index} occurs {percentage:.2f}% of the time")
print(f"Count: {data.count(data[index])} out of {len(data)} elements")
List: [2, 5, 2, 8, 2, 1, 2]
Value 2 at index 0 occurs 57.14% of the time
Count: 4 out of 7 elements

Comparison

Method Readability Performance Memory Usage
Naive Iteration High O(n) O(1)
List Comprehension High O(n) O(k) where k = matches
Built-in count() Highest O(n) O(1)

Conclusion

Both methods effectively calculate percentage occurrence at a given index. The naive iteration approach is memory-efficient, while list comprehension offers cleaner syntax. For production code, using the built-in count() method provides the most readable solution.

Updated on: 2026-03-27T15:37:16+05:30

354 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements