python 計數器類 Counter

2021-10-25 08:58:56 字數 1317 閱讀 3653

在力扣刷了演算法題,看到有一題是 【獨一無二的出現次數】

給你乙個整數陣列 arr,請你幫忙統計陣列中每個數的出現次數。

如果每個數的出現次數都是獨一無二的,就返回 true;否則返回 false。

示例 1:

輸入:arr =[1

,2,2

,1,1

,3]輸出:true

解釋:在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現了 1 次。沒有兩個數的出現次數相同。

本來的解題思路是

計算陣列內的數出現次數

如果都不相同 返回ture

有乙個相同的 false

思路: 定義乙個全域性變數,儲存出現的次數

只要有相等的數 ,直接置位 false

但是算著算著發現及其麻煩,看了下題解,才知道有專門的計數器類。。。

from collections import counter
測試了下,大概的功能如下:

from collections import counter

s ='aabcacd'

l =[1,

2,3,

4,5,

1,2,

3]d =print

(counter(s)

)# counter()

print

(counter(l)

)# counter()

print

(counter(d)

)counter(

)

字典是沒有進行計數的。

列表與字串 會根據出現的次數,分別進行展示

所有力扣的題就可以做以下解了:

# 獲取的是資料出現次數列表, 有重複的就置為false,

# 對比初識的與去重後的,不相等,一定是有去重的。

# 陣列的位置會有變化,所以判斷len 是最好的方法

arr =[1

,2,2

,1,1

,3]def

run(arr)

: c = counter(arr)

print

(c)# counter()

print

(c.values())

# dict_values([3, 1, 1, 1])

return

len(c.values())

==len

(set

(c.values())

)

Python(三) 類 計數器

classa count 0 類屬性,屬於該類 def init self,name,age self.name name 例項屬性,屬於例項物件 self.age age 例項屬性,屬於例項物件 defget count self 例項方法,也屬於物件 sutdent.count sutdent....

Python Counter類(計數器)

counter 計數器 用於追蹤值的出現次數 counter類繼承dict類,所以它能使用dict類裡面的方法 建立乙個counter類 import collections obj collections.counter aabbccc print obj 輸出 counter elements ...

Python字典 計數器

假設你得到乙個字串,然後你想要查一下每個字母出現了多少次。1.用字典來實現的優勢,就是我們不需要知道字串中有哪些字母,只需要為其中存在的字母來提供儲存空間。cat c.py bin python def histogram s s1 aaadddcccjjjkkk print histogram s...