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

yipeiwu_com5年前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多环境切换及pyenv使用过程详解

python多环境切换及pyenv使用过程详解

1.安装pyenv    https://github.com/pyenv/pyenv-installer curl -L https://g...

Numpy 中的矩阵求逆实例

1. 矩阵求逆 import numpy as np a = np.array([[1, 2], [3, 4]]) # 初始化一个非奇异矩阵(数组) print(np.linalg...

Python3之文件读写操作的实例讲解

文件操作的步骤: 打开文件 -> 操作文件 -> 关闭文件 切记:最后要关闭文件(否则可能会有意想不到的结果) 打开文件 文件句柄 = open(‘文件路径', ‘模式')...

python中日期和时间格式化输出的方法小结

本文实例总结了python中日期和时间格式化输出的方法。分享给大家供大家参考。具体分析如下: python格式化日期时间的函数为datetime.datetime.strftime();...

二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)

可以使用Python的email模块来实现带有附件的邮件的发送。 SMTP (Simple Mail Transfer Protocol)邮件传送代理 (Mail Transfer Ag...