用于查找数组中每个元素频率的Python程序


2022年4月13日, Learn eTutorial
1748

在这个简单的Python程序中,我们需要找到数组元素的频率。这是一个基于列表的Python程序。

要理解这个例子,您应该了解以下 Python 编程主题

什么是数组?如何找到元素的频率?

数组是使用单个名称访问、存储在连续内存位置的相同数据类型元素的集合。在这个基础的Python程序中,我们需要检查数组中每个元素的频率。为此,我们需要在Python中使用嵌套的for循环,我们的任务是计算每个元素的出现次数。如果再次找到某个元素,则增加count变量的值。我们在一个for循环内部进行这种检查和计数器递增,以检查每个元素的出现次数。

在这个Python的数组程序中,为了防止重复计算一个元素的数量,我们必须将一个变量初始化为-1,并将每个访问过的元素标记为-1。

算法

第1步: 接收并初始化一个带值的数组。

第2步: 在Python中使用len()函数,根据第一个数组的长度创建一个新数组。

第3步: 将已访问元素的变量初始化为-1

第4步: 开启一个从零到用户数组长度的外部for循环,并将计数变量count初始化为1,以计算数组中每个元素的出现次数。这个for循环将遍历数组中的每个元素。

第5步: 使用一个内部for循环,从外部循环的下一个元素开始。通过这个循环,将每个元素与数组中的其他元素进行比较。

第6步: 使用一个if条件来检查第一个元素与数组中的其他元素是否相同,如果相同,则将计数器count1

第7步: 然后,我们将新数组的相应位置赋值为-1,以停止再次对该元素计数。

第8步: 使用if条件检查新数组的元素是否不等于-1,如果是,则将新数组的元素赋值为计数器的值。

第9步: 使用一个for循环和Python语言中的print语句,显示新数组的元素,这些元素包含了第一个数组中每个元素的计数值。

Python 源代码

                                          arr = [1, 2, 8, 3, 2, 2, 2, 5, 1];     
#Array fr for storing count of elements  
fr = [None] * len(arr);    
visited = -1;    
     
for i in range(0, len(arr)):    
    count = 1;    
    for j in range(i+1, len(arr)):    
        if(arr[i] == arr[j]):    
            count = count + 1;    
            #To avoid counting same element again    
            fr[j] = visited;    
                
    if(fr[i] != visited):    
        fr[i] = count;    
     
#Displays the count of times array element is present    
print("---------------------");    
print(" Element | Count");    
print("---------------------");    
for i in range(0, len(fr)):    
    if(fr[i] != visited):    
        print("    " + str(arr[i]) + "    |    " + str(fr[i]));    
print("---------------------");    
                                      

输出

Element | Count
----------------------------------------
1           |         2
2           |         4
8           |         1
3           |         1
5           |         1
----------------------------------------