想法由来
今天写代码过程中遇到一个需求,计算一个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简单获取数组元素个数的方法Python当中的array数组对象实例详解Python实现在某个数组中查找一个值的算法示例python统计多维数组的行数和列数实例用python求一个数组的和与平均值的实现方法Python实现一个数组除以一个数的例子