Python每日一練0009

2021-09-24 07:23:04 字數 1653 閱讀 1617

怎樣找出乙個序列**現次數最多的元素?

使用collections庫中的counter物件可以方便的求出現次數最多的前n個元素

直接使用most_common成員函式就好了,例如:

from collections import counter

words = [

'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes',

'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'around', 'the',

'eyes', "don't", 'look', 'around', 'the', 'eyes', 'look', 'into',

'my', 'eyes', "you're", 'under'

]counter = counter(words)

print(counter.most_common(1))

複製**

輸出

[('eyes', 8)]

複製**

counter物件是dict的子類,事實上內部儲存也是按照k-v字典儲存的,這裡的v就是次數,所以counter物件支援dict物件的所有操作

每乙個counter物件初始化可以接受可迭代物件(iterable)、字典、關鍵字引數

>>> c = counter()                        # a new, empty counter

>>> c = counter('gallahad') # a new counter from an iterable

>>> c = counter(cats=4, dogs=8) # a new counter from keyword args

複製**

此外,counter物件還支援數學操作

>>> c = counter(a=3, b=1)

>>> d = counter(a=1, b=2)

>>> c + d # add two counters together: c[x] + d[x]

counter()

>>> c - d # subtract (keeping only positive counts)

counter()

>>> c & d # intersection: min(c[x], d[x])

counter()

>>> c | d # union: max(c[x], d[x])

counter()

複製**

所以在遇到跟計數有關的問題時,不妨首先考慮一下counter物件

python cookbook

python每日一練

人生苦短,我用python 2018.6.5 有個目錄,裡面是你自己寫過的程式,統計一下你寫過多少行 包括空行和注釋,但是要分別列出來 coding utf 8 import re import glob defcodecolletion path filelist glob.glob path p...

Python每日一練

人生苦短,我用python 2018.6.13 最近事情有點多,有幾天沒寫了,正好最近需要統計一下各組排名,也就拿python代替手工了 各組給出其他組的排名,統計每個組最終的得分,第一名為0.5,第二名0.4,以此類推。coding utf 8 groups 3,2,5,4,6 1,3,5,6,4...

Python每日一練0002

如何序列化輸出元素包含字串元組的字串元組 好繞 舉個例子 zoo1 monkey elephant zoo2 python zoo1 將zoo2輸出為python,monkey,elephant容易想到使用join 函式,但join 函式要求元素必須都是字串型別,否則會丟擲typeerror錯誤 z...