用python一行代碼得到數(shù)組中某個元素的個數(shù)方法
想法由來
今天寫代碼過程中遇到一個需求,計算一個list中數(shù)值為1的元素的個數(shù),其中這個list的元素數(shù)值不是為0就是為1。
一開始想到的是寫個方法來計算:
# 返回一個0,1數(shù)組中1的數(shù)量 def num_one(source_array): count = 0 for x in source_array: if x == 1: count += 1 return count
嗯好吧,然后覺得這是最low的方法了,就在想強大的python可不可以一行代碼就做到以上的效果,然后發(fā)現(xiàn)真的可以。
count方法描述
用到了一個python自帶的count()方法,count()方法用于統(tǒng)計字符串里某個字符出現(xiàn)的次數(shù)。可選參數(shù)為在字符串搜索的開始與結束位置。
count方法語法與參數(shù)
語法:
str.count(sub, start= 0,end=len(string))
參數(shù):
- sub – 搜索的子字符串
- start – 字符串開始搜索的位置。默認為第一個字符,第一個字符索引值為0。
- end – 字符串中結束搜索的位置。字符中第一個字符的索引為 0。默認為字符串的最后一個位置。
具體實現(xiàn)
把一個list轉類型為string然后用count方法計算所需要的元素個數(shù)即可,代碼如下:
num = str(source_array).count("1")
如果源數(shù)組是一個numpy.array類型的數(shù)組,則將其轉為list后再計數(shù):
num = str(source_array.tolist()).count("1")
以上這篇用python一行代碼得到數(shù)組中某個元素的個數(shù)方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python argparse傳入布爾參數(shù)false不生效的解決
這篇文章主要介紹了python argparse傳入布爾參數(shù)false不生效的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
python2與python3中關于對NaN類型數(shù)據(jù)的判斷和轉換方法
今天小編就為大家分享一篇python2與python3中關于對NaN類型數(shù)據(jù)的判斷和轉換方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
談一談數(shù)組拼接tf.concat()和np.concatenate()的區(qū)別
今天小編就為大家分享一篇談談數(shù)組拼接tf.concat()和np.concatenate()的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

