Python - 列表中索引处的出现百分比


本文中,用户将学习列表中索引处的出现百分比。确定列表或数组中给定索引处特定值的出现百分比是数据分析或处理中的常见任务。这种计算可以提供有关数据分布和趋势的洞察信息。在本文中,我们将研究解决此问题的两种不同策略,讨论它们的算法,提供获得所需结果的代码片段,然后比较这些策略。

例如 -

Given list :  [4, 2, 3, 1, 5, 6, 7] 

假设值为 3 在索引 2 处出现,则在这种情况下,出现百分比将为 14.29%,因为它只出现一次。

方法

为了使用 Python 查找索引处的出现百分比,我们可以遵循两种方法 -

  • 利用朴素迭代。

  • 利用列表推导。

让我们深入了解这两种方法 -

利用朴素迭代

初始策略采用简单的迭代过程。将迭代列表中的每个条目,将其与目标索引处的元素进行比较,并跟踪出现的次数。然后通过将计数除以整个列表的长度来确定出现百分比。

算法

以下是使用 Python 查找索引处的出现百分比的算法 -

  • 步骤 1 - 创建一个函数,将值和索引作为参数。

  • 步骤 2 - 使用变量 count 来保存指定索引处值出现的次数。

  • 步骤 3 - 创建一个循环,遍历所有值。

  • 步骤 4 - 检查值,如果值与指定索引处的值匹配,则递增 count 值。

  • 步骤 5 - 通过将计数除以值的总数来计算出现百分比。

  • 步骤 6 - 返回出现百分比。

  • 步骤 7 - 通过传递值来调用函数并显示结果。

示例

# Create a function that takes values as well as indexes as a parameter
def percentage_occurence_compute(value, index):
   # take a variable count to store the occurrence of value at the index specified
   count = 0
   # Run a loop for all the items in the values
   for item in value:
      # If the value is matched for the value at the specified index 
      # then increment the count value
      if item == value[index]:
         count += 1
   percentage_occurrence = (count / len(value)) * 100
   return percentage_occurrence

# Create an instance of values
value =  [4, 2, 3, 1, 5, 6, 7]
index = 2
percentage = percentage_occurence_compute(value, index)
print(f"The percentage occurrence of {value[index]} at index {index} is {percentage}%.")

输出

The percentage occurrence of 3 at index 2 is 14.285714285714285%.

利用列表推导

利用 Python 的列表推导功能是后续方法。使用列表推导过滤原始列表以生成一个新列表,该列表仅包含与目标索引处的值匹配的项。然后将过滤后的列表的长度除以原始列表的整个长度以确定出现百分比。

算法

以下是使用 Python 查找索引处的出现百分比的算法 -

  • 步骤 1 - 创建一个函数,将值和索引作为参数。

  • 步骤 2 - 通过仅提供指定索引处的项来过滤列表。

  • 步骤 3 - 计算过滤列表和给定值的百分比。

  • 步骤 4 - 调整图像大小并借助 skimage 计算 psnr。返回 psnr 值。

  • 步骤 5 - 调用上述函数并传递两个图像路径。

  • 步骤 6 - 显示 psnr 值。

示例

#Create a function that takes values as well as indexes as a parameter
def percentage_occurence_compute(value, index):
   # Filter list by finding only item given at any specified index
   filtered_list = [item for item in value if item == value[index]]
   # Compute the percentage for the filtered list and the given value
   percentage_occurrence = (len(filtered_list) / len(value)) * 100
   # return the computed value
   return percentage_occurrence

# Create an example of the list
value =  [4, 2, 3, 1, 5, 6, 7]
index = 2
# Call the above function
percentage = percentage_occurence_compute(value, index)
# Display the result
print(f"The percentage occurrence of {value[index]} at index {index} is {percentage}%.")

输出

The percentage occurrence of 3 at index 2 is 14.285714285714285%.

结论

在本文中,我们研究了两种计算 Python PSNR(峰值信噪比)的方法。在图像和视频处理的背景下,PSNR 是一个重要的统计数据,用于评估数字数据的质量。可以使用均方误差 (MSE) 方法或 skimage 库来确定精确的 PSNR 分数并评估数字信号的质量。

更新于: 2023年10月18日

141 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告