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

yipeiwu_com7年前Python基础

想法由来

今天写代码过程中遇到一个需求,计算一个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 FTP批量下载/删除/上传实例

python FTP批量下载/删除/上传实例

最近几天,学习python3的对FTP操作,做下总结!!!! 1.FTP链接 这样写的好处就是如果报错,很快就能找到错在哪里,方便找到问题。 2.FTP文件批量下载 有点要注意的:...

不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

前言 本文主要给大家介绍了关于不同版本中Python matplotlib.pyplot.draw()界面绘制异常的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍...

python解释器spython使用及原理解析

python解释器spython使用及原理解析

简介 出于个人爱好和某种需求,我再16年对python的解释器产生了浓厚兴趣,并且下定决心重新实现一个版本。我个人再游戏服务器开发中,对c++嵌入lua和python都有着丰富应用经验...

python dlib人脸识别代码实例

python dlib人脸识别代码实例

本文实例为大家分享了python dlib人脸识别的具体代码,供大家参考,具体内容如下 import matplotlib.pyplot as plt import dlib im...

Python pickle模块用法实例分析

本文实例讲述了Python pickle模块用法。分享给大家供大家参考。具体分析如下: pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。 pickle.dum...