1、Python中自帶的sum函數(shù)
創(chuàng)新互聯(lián)公司服務(wù)項目包括日喀則網(wǎng)站建設(shè)、日喀則網(wǎng)站制作、日喀則網(wǎng)頁制作以及日喀則網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,日喀則網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到日喀則省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
在Python中自帶的函數(shù)中,它輸入的對象可以是一個可迭代對象,比方說數(shù)組、列表,在使用的時候sum最多有兩個參數(shù),如果是一個參數(shù)的情況下,那么第一個參數(shù)是可迭代的,當有兩個參數(shù)時,第二個參數(shù)只能是個數(shù)。舉個例子:
sum([1,2,3],2) 運行結(jié)果:8 三個元素相加之后再加2sum((1,2,3)) 運行結(jié)果:6sum({1,2,3}) 運行結(jié)果:6
2、numpy中的sum函數(shù)
這里的sum函數(shù)就是我們平時用的,同樣的可以是元組、數(shù)組、列表,在數(shù)組中,可以指定維度的相加,默認情況下axis=none,sum將所有的元素相加,舉個例子:
1、當sum沒有參數(shù)的時候,那么會將所有的元素相加;
2、如果axis參數(shù)等于0時,則是按列相加;
舉個例子:
import numpy as np b=np.array([[3,7,6],[2,4,5]])print(b.sum(axis=0))
相當于是:
[[3,7,6], [2,4,5]]
每一列對應(yīng)元素相加3+2,7+4,6+5
運行結(jié)果輸出:
[5 11 11]
3、當axis參數(shù)等于1時,就是按行相加,例如:
import numpy as np b=np.array([[3,7,6],[2,4,5]])print(b.sum(axis=1))
運行結(jié)果輸出為:
[16 11]
在上面的實例中,就相當于是3+7+6,2+4+5,即每一行的元素分別相加。
關(guān)于如何使用Python中的sum函數(shù)?Python中sum函數(shù)的多種用法的內(nèi)容就分享到這里了,希望大家可以通過對這這篇文章的學習,掌握到更多sum函數(shù)的使用方法。
8個超好用內(nèi)置函數(shù)set(),eval(),sorted(),reversed(),map(),reduce(),filter(),enumerate()
python中有許多內(nèi)置函數(shù),不像print那么廣為人知,但它們卻異常的強大,用好了可以大大提高代碼效率。
這次來梳理下8個好用的python內(nèi)置函數(shù)
1、set()
當需要對一個列表進行去重操作的時候,set()函數(shù)就派上用場了。
用于創(chuàng)建一個集合,集合里的元素是無序且不重復(fù)的。集合對象創(chuàng)建后,還能使用并集、交集、差集功能。
2、eval()之前有人問如何用python寫一個四則運算器,輸入字符串公式,直接產(chǎn)生結(jié)果。用eval()來做就很簡單:eval(str_expression)作用是將字符串轉(zhuǎn)換成表達式,并且執(zhí)行。
3、sorted()在處理數(shù)據(jù)過程中,我們經(jīng)常會用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時候就需要用到sorted() ,它可以對任何可迭代對象進行排序,并返回列表。對列表升序操作:
對元組倒序操作:
使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長度來排序:
根據(jù)自定義規(guī)則,對元組構(gòu)成的列表進行排序:
4、reversed()如果需要對序列的元素進行反轉(zhuǎn)操作,reversed()函數(shù)能幫到你。reversed()接受一個序列,將序列里的元素反轉(zhuǎn),并最終返回迭代器。
5、map()做文本處理的時候,假如要對序列里的每個單詞進行大寫轉(zhuǎn)化操作。這個時候就可以使用map()函數(shù)。
map()會根據(jù)提供的函數(shù),對指定的序列做映射,最終返回迭代器。也就是說map()函數(shù)會把序列里的每一個元素用指定的方法加工一遍,最終返回給你加工好的序列。舉個例子,對列表里的每個數(shù)字作平方處理:
6、reduce()前面說到對列表里的每個數(shù)字作平方處理,用map()函數(shù)。那我想將列表里的每個元素相乘,該怎么做呢?這時候用到reduce()函數(shù)。
reduce()會對參數(shù)序列中元素進行累積。第一、第二個元素先進行函數(shù)操作,生成的結(jié)果再和第三個元素進行函數(shù)操作,以此類推,最終生成所有元素累積運算的結(jié)果。再舉個例子,將字母連接成字符串。
你可能已經(jīng)注意到,reduce()函數(shù)在python3里已經(jīng)不再是內(nèi)置函數(shù),而是遷移到了functools模塊中。這里把reduce()函數(shù)拎出來講,是因為它太重要了。
7、filter()一些數(shù)字組成的列表,要把其中偶數(shù)去掉,該怎么做呢?
filter()函數(shù)輕松完成了任務(wù),它用于過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象。filter()函數(shù)和map()、reduce()函數(shù)類似,都是將序列里的每個元素映射到函數(shù),最終返回結(jié)果。我們再試試,如何從許多單詞里挑出包含字母w的單詞。
8、enumerate()這樣一個場景,同時打印出序列里每一個元素和它對應(yīng)的順序號,我們用enumerate()函數(shù)做做看。
enumerate翻譯過來是枚舉、列舉的意思,所以說enumerate()函數(shù)用于對序列里的元素進行順序標注,返回(元素、索引)組成的迭代器。再舉個例子說明,對字符串進行標注,返回每個字母和其索引。
1
len(list)
列表元素個數(shù)
2
max(list)
返回列表元素最大值
3
min(list)
返回列表元素最小值
4
list(seq)
將元組轉(zhuǎn)換為列表
序號
方法
1
list.append(obj)
在列表末尾添加新的對象
2
list.count(obj)
統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)
3
list.extend(seq)
在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
4
list.index(obj)
從列表中找出某個值第一個匹配項的索引位置
5
list.insert(index, obj)
將對象插入列表
6
list.pop([index=-1])
移除列表中的一個元素(默認最后一個元素),并且返回該元素的值
7
list.remove(obj)
移除列表中某個值的第一個匹配項
8
list.reverse()
反向列表中元素
9
list.sort( key=None, reverse=False)
對原列表進行排序
10
list.clear()
清空列表
11
list.copy()
復(fù)制列表
內(nèi)置函數(shù),在python幫助文檔中:Build-in Functions
在Python提示符下,輸入下面語句,就會顯示Python提供的內(nèi)置函數(shù)列表
dir('__builtins__')
abs(_) 內(nèi)置函數(shù),絕對值或復(fù)數(shù)的模。
chr() 以單字節(jié)整數(shù)為參數(shù),返回一個單字符的字符串,其內(nèi)容是與之對于的ASCII字符。如chr(69)返回'E'。
cmp() 比較字符串,cmp('Xiao','Jian')返回1
coerce() (可以看成一個數(shù)值類型轉(zhuǎn)換函數(shù))有兩個參數(shù),都是數(shù)字,返回這兩個數(shù)字的一個列表,將這兩個數(shù)字的數(shù)據(jù)類型統(tǒng)一。如coerce(1,2j),返回(1+0j,2j)
complex() 內(nèi)置函數(shù),把……轉(zhuǎn)換成復(fù)數(shù),如complex('2')返回(2+0j),complex('2+3j')返回(2+3j)。
divmod() 內(nèi)置函數(shù),有兩個參數(shù),返回(商,余數(shù))。如divmod(10,2.5),返回(4.0,0.0)。
filter(function,list) 把函數(shù)應(yīng)用于list中的每一項,并返回 從函數(shù)中返回真值的項。注:function可以為None,此時刪除list中的0或空項。
float() 內(nèi)置函數(shù),把……轉(zhuǎn)換成浮點數(shù)。
floor() 在math模塊內(nèi),需要import math。向下取整,即向x軸負方向取整。如math.floor(1.9)返回1,math.floor(-2.5)返回-3。
hash() 散列功能,詞典鍵的最精確功能需求是它一定是可散列的。對象的散列值是半唯一的、內(nèi)部生成的數(shù)字,它可用于快速比較。
int() 內(nèi)置函數(shù),把字符串或者小數(shù)轉(zhuǎn)換為一個整數(shù)。直接去掉小數(shù)部分。如int(5.3)返回5,int('5')返回5。
len(x) 序列x的長度
long() 內(nèi)置函數(shù),把數(shù)字 或 代表整數(shù)的字符串 轉(zhuǎn)換成長整型
map(function,list[,list,...])
max() 找出字符串中最大的字符。如:min('find the minimum character'),返回' ',即空格。
min() 找出字符串中最小的字符。如:max('find the maximum character'),返回'x'。
oct() 將十進制數(shù)轉(zhuǎn)換成八進制,再變成字符。
ord() 參數(shù)是單個的ASCII字符,返回該ASCII字符對應(yīng)的整數(shù)值,如ord('a')返回97。
pow() 內(nèi)置函數(shù),乘方。如果有第三個參數(shù),則表示乘方的結(jié)果對第三參數(shù)取余,如pow(2,3)返回8,pow(2,3,4)返回0。
print 輸出到窗口
range() 生成一個向量,例如range(m,n,d),從m到n,步長為d;range(m)則生成0:m-1,步長為1的向量。
raw_input() 輸入函數(shù),參數(shù)為字符串,作為輸入時的提示語句。返回值為字符串。
reduce(func)
round() 內(nèi)置函數(shù),對數(shù)字進行四舍五入,第二個參數(shù)表示精確到小數(shù)點后指定的位數(shù),默認值為0。如round(2.4)返回2,round(1.398,2)返回1.40。
type() 返回某數(shù)據(jù)的類型
定義列表有兩個辦法。
1.使用特征符[],比如[1,2,3],這就定義了一個列表
2.使用工廠函數(shù)list,比如list(1,2,3)也定義了一個列表
你說的函數(shù)是自定義函數(shù)還是使用內(nèi)置函數(shù)?
使用內(nèi)置函數(shù)那就是使用工廠函數(shù)(有點小特殊的內(nèi)置函數(shù))list()就行。
如果自定義函數(shù)里定義列表就上面兩個方法隨意用了