1. 程式人生 > >Python找出序列中出現最多的元素

Python找出序列中出現最多的元素

運用場景

有時候我們需要統計一個序列中出現最多或者次多的元素,或者是給你一段文字,這段文字中出現最多的詞是什麼,以及每個詞出現的次數,這個在寫程式碼的初級篇大家都會遇到。
一般的做法,我肯定會用一個字典做遍歷,key 就是我們要處理的元素,然後value就是我們的統計結果。

但是這種一看就是輪子,所以我們就愉快的直接用吧。

Python專門設計了一個類來處理這個問題
下面就是這個類的具體的用法,假設我們有一個單詞列表,我們想要找出那個單詞出現的頻率最高。

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' ] from collections import Counter word_counts = Counter(words) # 出現頻率最高的3個單詞 top_three = word_counts.most_common(3
) print(top_three) # Outputs [('eyes', 8), ('the', 5), ('look', 4)]

Reference

這裡寫圖片描述

相關推薦

Python序列出現元素

運用場景 有時候我們需要統計一個序列中出現最多或者次多的元素,或者是給你一段文字,這段文字中出現最多的詞是什麼,以及每個詞出現的次數,這個在寫程式碼的初級篇大家都會遇到。 一般的做法,我肯定會用一個字典做遍歷,key 就是我們要處理的元素,然後value就是

python序列出現次數元素之Counter物件

解決此類問題我們將用到collections模組中的Counter類,並直接呼叫Counter類的most_common()方法或得答案。 用下面的例子來講解具體用法: 基本用法 from col

JS實現字串出現的字元和次數

var str = "zhaochucichuzuiduodezifu"; var o = {}; //遍歷str,統計每個字元出現的次數 for (var i = 0, len

python字典value大值的幾種方法

假設定義一字典,m = {"a":3,"e":6,"b":2,"g":7,"f":7,"c":1,"d":5},在不知道key的情況下如何找出字典中value最大的所有key-value對?下面討論幾種方法。 1)通過m.values()和max()函式 第一步,通過max()函式找到字典中的value最

演算法練習08 字串出現次數的字元

題目 找出一個字串中出現次數最多的字元 const str = 'asdfaaaa' 最後的返回值是字串'a' 實現 嗯,我略加思考(半個小時左右),給出了一個複雜的方案,一個屎一般的方案 屎一般的方案 我的方案是利用redcue,計算出了每個字串出現的頻次

問題6: 字串出現次數的字母及其出現的次數

這好像是華為機試的一道題目,我採用JAVA來完成,用JAVA也可以用其他方法。 我用一個比較簡單的方法,程式碼如下: public class Str{ public static void main(String[] args){ String str =

陣列出現次數的數字

#include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or add your own getch, system("pause") or

陣列出現次數的那個數——主元素問題

 方法一:以空間換時間,可以定義一個計數陣列int count[100],用來對陣列中數字出現的次數進行計數(只能針對陣列中數字的範圍1~1000),count陣列中最大的元素對應的下標,即為出現次數最多的那個數。程式碼如下: #include <iostream&g

Python 字串出現頻率最高的字母

發現一個學Python的好網站 https://py.checkio.org 第一題大概意思就是找出一個字串中出現頻率最高字母 我的思路也是直接,弄個字典,遍歷字串,將鍵值對填進字典裡,健就是字母,值就是出現了幾次,再查下字典裡最大的值即可。 上我的程式碼 import

Python面試題 —— 計算列表出現次的字元

題目: 給你一個其中包含不同的英文字母和標點符號的文字,你要找到其中出現最多的字母,返回的字母必須是小寫形式, 當檢查最想要的字母時,不區分大小寫,所以在你的搜尋中 “A” == “a”。 請確保你不計算標點符號,數字和空格,只計算字母。 如果你找到 兩個或兩個以上的具有相同的頻率的字母,

python-進階教程-字典大(小)元素的n種方法

0.摘要 字典作為儲存“鍵值對”的資料結構,往往不能直接進行計算,需要藉助額外的方法。 本文主要介紹多種方法,實現根據字典的值進行最大值、最小值和排序等計算。   1.使用dict.values()方法 dict.values()方法可以直接提取出字典的值,並存放在單獨

python list大或者小几個數的索引

nums = [1,8,2,23,7,-4,18,23,24,37,2] result = map(nums.index, heapq.nlargest(3, nums)) temp=[] Inf =

python--計算字串出現次數的字元

看了網上挺多寫的方法都沒達到我所需要的效果,我乾脆自己寫了個方法共享給大家ee = 'aa111(((bbhhhhhh%jjjjjj%(ccc((vvvv22' cc='11222333' def max_letter_count(n): list4 = []

資料結構——陣列(3) 在有序陣列重複的次數的數

先總結有序陣列,無序的後面再總結。。 1.以空間換時間法。 演算法思想:目標陣列array[length],是一個有序陣列,比如int array[]={1,1,2,2,4,4,4,4,4,5,5,6,10};總共有13個元素,其中數字最多的數是4,總計5次

數組出現的數,以及接口 Map.Entry<K,V>

int try tools pub length rem value contains span 1 package test.tools; 2 3 import java.util.Collection; 4 import java.util.Collecti

獲取在一個數組出現的字符及其所在的位置

blog 數組 body asc i++ cnblogs attr 次數 獲取 獲取在一個數組中出現最多的字符、個數及其所在的位置 <!DOCTYPE html> <html> <head> <title>一個數組中,出現

有1千萬條有重復的短信,以文本文件的形式保存,一行一條,也有重復,用5分鐘時間重復出現的前10條短信。

ascii碼 宋體 哈希表 文本 深度 pan 進行 span 二次 1,哈希表法   分成若幹組,進行掃描。相同記錄只加1次,重復次數加1,之後進行第二次掃描,得出重復次數的前十名。 2,從小到大排序(我覺得最好不用這種方法,準確性不高) 3,內存映射(建議)   對每條

[leetcode]508. Most Frequent Subtree Sum二叉樹出現的值

def class keyset fault 二叉 post 節點 helper list 遍歷二叉樹,用map記錄sum出現的次數,每一個新的節點都統計一次。 遍歷完就統計map中出現最多的sum Map<Integer,Integer> map = new

劍指offer之陣列出現次數超過一半的數字

找出陣列中出現次數超過一半的數字 歡迎關注作者簡書 csdn傳送門 題目   一個數組中有一個數字的次數超過了陣列的一半,求出這個字元。如:int a[] = {2,3,2,2,2,2,2,5,4,1,2,3},求出超過一半的數字是2 分析 解法一

Linux:cpu資源佔用的那個執行緒

在這裡對linux下、sun(oracle) JDK的執行緒資源佔用問題的查詢步驟做一個小結;linux環境下,當發現java程序佔用CPU資源很高,且又要想更進一步查出哪一個java執行緒佔用了CPU資源時,按照以下步驟進行查詢: 先用top命令找出佔用資源厲害的java