脚本专栏 
首页 > 脚本专栏 > 浏览文章

用python一行代码得到数组中某个元素的个数方法

(编辑:jimmy 日期: 2025/9/18 浏览:3 次 )

想法由来

今天写代码过程中遇到一个需求,计算一个list中数值为1的元素的个数,其中这个list的元素数值不是为0就是为1。

一开始想到的是写个方法来计算:

# 返回一个0,1数组中1的数量
def num_one(source_array):
 count = 0
 for x in source_array:
  if x == 1:
   count += 1
 return count

嗯好吧,然后觉得这是最low的方法了,就在想强大的python可不可以一行代码就做到以上的效果,然后发现真的可以。

count方法描述

用到了一个python自带的count()方法,count()方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

count方法语法与参数

语法:

str.count(sub, start= 0,end=len(string))

参数:

- sub – 搜索的子字符串

- start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。

- end – 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

具体实现

把一个list转类型为string然后用count方法计算所需要的元素个数即可,代码如下:

num = str(source_array).count("1")

如果源数组是一个numpy.array类型的数组,则将其转为list后再计数:

num = str(source_array.tolist()).count("1")

以上这篇用python一行代码得到数组中某个元素的个数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:python实现蒙特卡罗方法教程
下一篇:python简单贪吃蛇开发
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap