Python教程:在python中對(duì)列表進(jìn)行統(tǒng)計(jì)和計(jì)算詳解
歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)Python知識(shí),本文學(xué)習(xí)的是《在python中對(duì)列表進(jìn)行統(tǒng)計(jì)和計(jì)算詳解》。本知識(shí)點(diǎn)主要內(nèi)容有:使用count()方法獲取指定的元素的出現(xiàn)次數(shù)、使用index()方法獲取指定元素首次出現(xiàn)的位置、使用sum()函數(shù)統(tǒng)計(jì)數(shù)值列表的元素和。
永久美國(guó)免備案虛擬主機(jī)1元1天,15元1月,100元1年,1000元永久
站長(zhǎng)在線旗下答案網(wǎng)站,全站所有題目,免費(fèi)查看答案和答案解析
歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)python知識(shí),本文學(xué)習(xí)的是《在Python中對(duì)列表進(jìn)行統(tǒng)計(jì)和計(jì)算詳解》。本知識(shí)點(diǎn)主要內(nèi)容有:使用count()方法獲取指定的元素的出現(xiàn)次數(shù)、使用index()方法獲取指定元素首次出現(xiàn)的位置、使用sum()函數(shù)統(tǒng)計(jì)數(shù)值列表的元素和。
1、在Python中使用count()方法獲取指定的元素的出現(xiàn)次數(shù)。
我們?cè)谇懊鎸W(xué)過(guò)通過(guò)len()函數(shù)計(jì)算列表的長(zhǎng)度,但是他是不管也沒(méi)有重復(fù)的,而今天要講的,使用列表對(duì)象的count()方法可以獲取指定元素在列表中出現(xiàn)的次數(shù)。count()方法的數(shù)值類型語(yǔ)法格式如下:
listname.count(obj)
其中,listname代表列表的名稱;obj表示要被判斷出現(xiàn)次數(shù)的對(duì)象,這里是指精確匹配,而不是是元素值的一部分。
例如,創(chuàng)建一個(gè)8個(gè)數(shù)值的數(shù)列列表,使用count()方法統(tǒng)計(jì)數(shù)值出現(xiàn)的次數(shù)。代碼如下:
s = [66,88,13,59,66,39,100,59]
s1 = s.count(66)
s2 = s.count(88)
s3 = s.count(99)
print("66出現(xiàn)的次數(shù):",s1)
print("88出現(xiàn)的次數(shù):",s2)
print("99出現(xiàn)的次數(shù):",s3)
運(yùn)行結(jié)果如下:
66出現(xiàn)的次數(shù): 2
88出現(xiàn)的次數(shù): 1
99出現(xiàn)的次數(shù): 0
>>>
count()方法除了統(tǒng)計(jì)數(shù)值型列表,還是可以統(tǒng)計(jì)字符串里某個(gè)字符串或子字符串出現(xiàn)的次數(shù),如果沒(méi)有就返回為0??蛇x參數(shù)為在字符串搜索的開始與結(jié)束位置。
語(yǔ)法如下:
str.count(sub,start,end)
此方法中,各參數(shù)的具體含義如下:
str:表示原字符串;
sub:表示要檢索的字符串;
start:指定檢索的起始位置,也就是從什么位置開始檢測(cè)。如果不指定,默認(rèn)從頭開始檢索;
end:指定檢索的終止位置,如果不指定,則表示一直檢索到結(jié)尾。
列如:檢索字符串“olzz.com/xuetang/python”中,“/”的出現(xiàn)次數(shù)。
str = "olzz.com/xuetang/python"
num = str.count('/')
print("'/'出現(xiàn)的次數(shù):",num)
運(yùn)行結(jié)果為:
'/'出現(xiàn)的次數(shù): 2
>>>
下面我們指定字符串的起址位置:
str = "olzz.com/xuetang/python"
num = str.count('/',1,10) #指定'/'在第2個(gè)到第11個(gè)字符之間
print("'/'出現(xiàn)的次數(shù):",num)
運(yùn)行結(jié)果為:
'/'出現(xiàn)的次數(shù): 1
>>>
2、在Python中使用index()方法獲取指定元素首次出現(xiàn)的位置
在Python列表對(duì)象的index()方法可以獲取指定元素在列表中首次出現(xiàn)的位置(索引),在數(shù)值類型的語(yǔ)法格式如下:
listname.index(obj)
參數(shù)說(shuō)明:
listname:表示列表的名稱。
obj:表示要查找的對(duì)象(精確匹配)。
返回值:首次出現(xiàn)的索引值。
s = [66,88,13,59,66,39,100,59]
s1 = s.index(66)
s2 = s.index(59)
print("66首次出現(xiàn)的索引位置:",s1)
print("59首次出現(xiàn)的索引位置:",s2)
運(yùn)行結(jié)果如下:
66首次出現(xiàn)的位置: 0
59首次出現(xiàn)的位置: 3
>>>
如果索引的值,列表里面,就會(huì)拋出異常:
s = [66,88,13,59,66,39,100,59]
s3 = s.index(77)
print("77首次出現(xiàn)的索引位置:",s3)
運(yùn)行結(jié)果為:
Traceback (most recent call last):
File "D:\Python\Python310\Doc\000.py", line 2, in <module>
s3 = s.index(77)
ValueError: 77 is not in list
>>>
和上方的count()方法一樣,index()方法可以用于數(shù)值型的檢索,也可以用于檢索是否包含指定的字符串,不同之處在于,當(dāng)指定的字符串不存在時(shí),index() 方法會(huì)拋出異常。(count()方法出現(xiàn)次數(shù)為0,而不是異常)。
str.index(sub,start,end)
此方法中,各參數(shù)的具體含義如下:
str:表示原字符串;
sub:表示要檢索的字符串;
start:指定檢索的起始位置,也就是從什么位置開始檢測(cè)。如果不指定,默認(rèn)從頭開始檢索;
end:指定檢索的終止位置,如果不指定,則表示一直檢索到結(jié)尾。
列如:檢索字符串“olzz.com/xuetang/python”中,“/”首次出現(xiàn)的位置。
str = "olzz.com/xuetang/python"
num = str.index('/')
print("'/'首次出現(xiàn)的位置:",num)
執(zhí)行結(jié)果如下:
'/'首次出現(xiàn)的位置: 8
>>>
下面我們指定字符串的起址位置:
str = "olzz.com/xuetang/python"
num = str.index('/',1,10) #指定'/'在第2個(gè)到第11個(gè)字符之間
print("'/'首次出現(xiàn)的位置:",num)
執(zhí)行結(jié)果:
'/'首次出現(xiàn)的位置: 8
>>>
執(zhí)行結(jié)果是一樣的,因?yàn)槲抑付ǖ奈恢檬且粯?,現(xiàn)在我來(lái)指定到后面這個(gè)區(qū)域,使用負(fù)數(shù)索引:
str = "olzz.com/xuetang/python"
num = str.index('/',-10,-1) #指定'/'在最后一個(gè)到最后10個(gè)字符之間
print("'/'首次出現(xiàn)的位置:",num)
運(yùn)行結(jié)果如下:
'/'首次出現(xiàn)的位置: 16
>>>
這個(gè)結(jié)果是從左到右的,因?yàn)橹付▍^(qū)域排除了第8個(gè),所以滿足要求的是第16個(gè)了。
3、在Python中使用sum()函數(shù)統(tǒng)計(jì)數(shù)值列表的元素和
在講count()方法和index()方法的時(shí)候,我是把數(shù)值和字符串,分開講解的,因?yàn)槭褂脭?shù)值的方法比字符串的方法要簡(jiǎn)單。
但是在sum()函數(shù)中,只能統(tǒng)計(jì)數(shù)值了。語(yǔ)法格式如下:
sum(iterable[, start])
相關(guān)說(shuō)明如下:
iterable:可迭代對(duì)象,如:列表、元組、集合。
start:指定相加的參數(shù),如果沒(méi)有設(shè)置這個(gè)值,默認(rèn)為0。
下面各種對(duì)象之間求和舉例:
>>> sum([0,1,2]) # 列表求和
3
>>> sum((0,1,2,3),1) # 元組計(jì)算總和后再加 1
7
>>> sum([0,1,2,3,4],2) # 列表計(jì)算總和后再加 2
12
>>>
實(shí)例:某中學(xué)校長(zhǎng)隨機(jī)抽查了初三1班的10名男學(xué)生的數(shù)學(xué)成績(jī),和10名女學(xué)生的數(shù)學(xué)成績(jī),然后應(yīng)用sum()函數(shù)計(jì)算男學(xué)生和女學(xué)生的成績(jī)之和。對(duì)應(yīng)的代碼如下:
s1 = [93,95,86,98,99,99,89,100,100,97] #10名男學(xué)生的數(shù)學(xué)成績(jī)列表
s2 = [98,96,86,88,96,100,93,87,95,95] #10名女學(xué)生的數(shù)學(xué)成績(jī)列表
z1 = sum(s1)
z2 = sum(s2)
print("10名男學(xué)生的數(shù)學(xué)總分?jǐn)?shù)為:",z1)
print("10名女學(xué)生的數(shù)學(xué)總分?jǐn)?shù)為:",z2)
運(yùn)行結(jié)果為:
10名男學(xué)生的數(shù)學(xué)總分?jǐn)?shù)為: 956
10名女學(xué)生的數(shù)學(xué)總分?jǐn)?shù)為: 934
>>>
到此為止,今天的《在python中對(duì)列表進(jìn)行統(tǒng)計(jì)計(jì)算詳解》中的使用count()方法獲取指定的元素的出現(xiàn)次數(shù)、使用index()方法獲取指定元素首次出現(xiàn)的位置、使用sum()函數(shù)統(tǒng)計(jì)數(shù)值列表的元素和就講解完畢了,有不懂的可以給我留言哦。
文末福利:
1、關(guān)注站長(zhǎng)在線官方公眾號(hào)【站長(zhǎng)在線】微信號(hào):olzzcom ,文末也有公眾號(hào)二維碼,關(guān)注公眾號(hào)以后回復(fù)python,本站精心整理的Python書籍、軟件、工具都實(shí)時(shí)更新哦!本站所安裝的python3.10、 IDLE中文版 、PyCharm、Visual Studio Code、Sublime Text4等都在里面哦!
2、站長(zhǎng)在線官方微信交流群已經(jīng)開通了,微信掃碼進(jìn)入,一起交流,一起進(jìn)步!
本文地址:http://003188.cn/pythonliebiaotongjihejisuan.html
阿里云虛擬主機(jī)1G空間,120元一年
香港、美國(guó)虛擬主機(jī)100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡