日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3 for计数_python怎么实现计数?

發布時間:2023/12/2 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3 for计数_python怎么实现计数? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python中實現計數的一般方法:

1、使用字典解決(dict)

字典計數是最常用的計數方法,逐個遍歷數據結構中元素,將元素作為鍵,元素個數作為值進行統計,依次加入字典中。

實例演示test_lst?=?['a',?'b',?'c',?'d',?'e',?'f',?'g',?'a',?'f',?'s',?'b',?'h',?'k',?'i',?'j',?'c',?'d',?'f']

counter_dict?=?{}

for?item?in?test_lst:if?item?in?counter_dict:?counter_dict[item]?+=?1?else:?counter_dict[item]?=?1print(counter_dict)

程序運行結果>>>{'i': 1, 'a': 2, 's': 1, 'g': 1, 'b': 2, 'k': 1, 'h': 1, 'j': 1, 'c': 2, 'e': 1, 'd': 2, 'f': 3}

2、使用dict.setdefault(key, dvalue)方法解決

可以使用dict.setdefault()方式進行統計,比起直接使用dict,該方法不用使用if-else語句進行判斷,且避免了KeyError異常。

實例演示test_lst?=?['a',?'b',?'c',?'d',?'eshi',?'f',?'g',?'a',?'f',?'s',?'b',?'h',?'k',?'i',?'j',?'c',?'d',?'f']

counter_sdict?=?{}for?item?in?test_lst:counter_sdict[item]?=?counter_sdict.setdefault(item,?0)?+?1print(counter_sdict)

程序運行結果>>>{'k': 1, 'e': 1, 'c': 2, 'a': 2, 'b': 2, 'd': 2, 'f': 3, 'g': 1, 's': 1, 'j': 1, 'i': 1, 'h': 1}

同dict方法,但程序的容錯性比上面的方法要好,且數據量大時,該程序比使用dict的傳統方法要節省時間。

3、使用defaultdict類解決

defaultdict類的初始化函數接受一個類型作為參數,當所訪問的鍵不存在的時候,它自動實例化一個值作為默認值。使用defaultdict與使用dict的區別在于,defaultdict能夠自動對獲取結果進行排序,這就解決了我們后續排序的麻煩,并且defaushltdict是自帶“輪子”,就不用重新創造了,節省開發時間哦。

實例演示from?collections?import?defaultdict

test_lst?=?['a',?'b',?'c',?'d',?'e',?'f',?'g',?'a',?'f',?'s',?'b',?'h',?'k',?'i',?'j',?'c',?'d',?'f']

counter_ddict?=?defaultdict(int)for?item?in?test_lst:counter_ddict[item]?+=?1print(counter_ddict)

程序運行結果>>>defaultdict(, {'k': 1, 'e': 1, 'c': 2, 'a': 2, 'b': 2, 'd': 2, 'f': 3, 'g': 1, 's': 1, 'j': 1, 'i': 1, 'h': 1})

4、結合使用set和list兩種數據結構來解決

思路如下:首先,初始化一個set和一個列表list,獲取序列中需要統計的元素;然后,依次遍歷set中的內容,使用需要統計序列的cosut()方法,分別統計set中的內容并計入新列表中。

實例演示test_lst?=?['a',?'b',?'c',?'d',?'e',?'f',?'g',?'a',?'f',?'s',?'b',?'h',?'k',?'i',?'j',?'c',?'d',?'f']

r_lst?=?[]temp?=?set(test_lst)for?item?in?temp:r_lst.append((item,?test_lst.count(item)))print(r_lst)

程序運行結果>>>[('j', 1), ('k', 1), ('a', 2), ('s', 1), ('d', 2), ('h', 1), ('f', 3), ('c', 2), ('e', 1), ('b', 2), ('i', 1), ('g', 1)]

總結

以上是生活随笔為你收集整理的python3 for计数_python怎么实现计数?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。