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

创新互联python教程:

创新互联是一家专注于成都网站制作、网站建设与策划设计,铁力网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:铁力等地区。铁力做网站价格咨询:13518219792

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

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

  • Python 列表
  • Python 循环
  • Python 决策语句

什么是数组?如何求一个元素的频率?

数组是使用单个名称访问的相同数据类型的元素集,存储在连续的内存位置中。在这个基本的 Python 程序中,我们需要检查数组中每个元素的频率。为此,我们必须在 python 中使用嵌套 For 循环,我们所做的就是计算每个元素的出现次数。如果再次找到一个元素,则增加计数变量。我们在for loop中进行这个检查和递增计数器,以检查每个元素的出现。

在 python 中的这个 Array 程序中,为了防止两次进行元素计数,我们必须将一个变量初始化为-1,并将访问的每个元素都设为-1。

算法

步骤 1: 接受并初始化一个有值的数组。

步骤 2: 使用 python 中的 len() 使用第一个数组的长度创建一个数组。

步骤 3: 将访问过的元素变量初始化为 -1 。

STEP 4: 打开从零到用户数组长度的外部for loop,将 count 变量初始化为 1 ,统计数组中每个元素的出现次数。这个 for 循环将遍历数组中的每个元素。

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

步骤 6: 使用if条件检查数组中第一个元素和其他元素,如果是真的,计数增加 1

STEP 7: 然后,我们给新数组赋值 -1 再次停止元素计数。

第 8 步:使用if条件检查新数组是否不等于 -1 ,如果是,则为新数组元素分配一个计数。

第 9 步:使用for loop显示第一个数组中每个元素计数的新数组元素,并用 python 语言打印语句。

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
----------------------------------------

当前名称:Python 程序:查找数组中每个元素的频率
链接地址:http://www.gawzjz.com/qtweb/news27/192627.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联