📜  Python|出现在索引处的百分比

📅  最后修改于: 2022-05-13 01:54:41.061000             🧑  作者: Mango

Python|出现在索引处的百分比

有时在处理统计数据时,我们可能会遇到这个特殊的问题,我们需要在列表中的特定索引处找到元素出现的百分比。让我们讨论一些可以做到这一点的方法。

方法 #1:使用循环 + 列表推导
我们可以使用每个列表索引的循环来执行这个特定的任务,为此我们可以使用列表理解逻辑计算元素的出现百分比。

# Python3 code to demonstrate
# index percentage calculation of element
# using loop + list comprehension
  
# initializing test list
test_list = [[3, 4, 5], [2, 4, 6], [3, 5, 4]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# using loop + list comprehension
# index percentage calculation of element
res = []
for i in range(len(test_list[1])):
    res.append(len([j[i] for j in test_list if j[i]== 4 ])/len(test_list))
  
# print result
print("The percentage of 4 each index is : " + str(res))
输出 :
The original list : [[3, 4, 5], [2, 4, 6], [3, 5, 4]]
The percentage of 4 each index is : [0.0, 0.6666666666666666, 0.3333333333333333]

方法 #2:使用zip() + count() + 列表理解
也可以使用上述功能的组合来执行此特定任务。 count 和 zip函数分别完成百分比计算和分组的任务。

# Python3 code to demonstrate
# index percentage calculation of element
# using zip() + count() + list comprehension
  
# initializing test list
test_list = [[3, 4, 5], [2, 4, 6], [3, 5, 4]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# using zip() + count() + list comprehension
# index percentage calculation of element
res = [sub.count(4)/len(sub) for sub in zip(*test_list)]
  
# print result
print("The percentage of 4 each index is : " + str(res))
输出 :
The original list : [[3, 4, 5], [2, 4, 6], [3, 5, 4]]
The percentage of 4 each index is : [0.0, 0.6666666666666666, 0.3333333333333333]