Python統計字符串中出現次數最多的人名

人名最多數統計

題目摘自https://python123.io

描述

編程模板中給出了一個字符串,其中包含了含有重複的人名,請直接輸出出現最多的人名。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬代碼示例如下:‮

s = '''雙兒 洪七公 趙敏 趙敏 逍遙子 鰲拜 殷天正 金輪法王 喬峯 楊過 洪七公 郭靖 
       楊逍 鰲拜 殷天正 段譽 楊逍 慕容復 阿紫 慕容復 郭芙 喬峯 令狐沖 郭芙 
       金輪法王 小龍女 楊過 慕容復 梅超風 李莫愁 洪七公 張無忌 梅超風 楊逍 
       鰲拜 嶽不羣 黃藥師 黃蓉 段譽 金輪法王 忽必烈 忽必烈 張三丰 喬峯 喬峯 
       阿紫 喬峯 金輪法王 袁冠南 張無忌 郭襄 黃蓉 李莫愁 趙敏 趙敏 郭芙 張三丰 
       喬峯 趙敏 梅超風 雙兒 鰲拜 陳家洛 袁冠南 郭芙 郭芙 楊逍 趙敏 金輪法王 
       忽必烈 慕容復 張三丰 趙敏 楊逍 令狐沖 黃藥師 袁冠南 楊逍 完顏洪烈 殷天正 
       李莫愁 阿紫 逍遙子 喬峯 逍遙子 完顏洪烈 郭芙 楊逍 張無忌 楊過 慕容復 
       逍遙子 虛竹 雙兒 喬峯 郭芙 黃蓉 李莫愁 陳家洛 楊過 忽必烈 鰲拜 王語嫣 
       洪七公 韋小寶 阿朱 梅超風 段譽 嶽靈珊 完顏洪烈 喬峯 段譽 楊過 楊過 慕容復 
       黃蓉 楊過 阿紫 楊逍 張三丰 張三丰 趙敏 張三丰 楊逍 黃蓉 金輪法王 郭襄 
       張三丰 令狐沖 趙敏 郭芙 韋小寶 黃藥師 阿紫 韋小寶 金輪法王 楊逍 令狐沖 阿紫 
       洪七公 袁冠南 雙兒 郭靖 鰲拜 謝遜 阿紫 郭襄 梅超風 張無忌 段譽 忽必烈 
       完顏洪烈 雙兒 逍遙子 謝遜 完顏洪烈 殷天正 金輪法王 張三丰 雙兒 郭襄 阿朱 
       郭襄 雙兒 李莫愁 郭襄 忽必烈 金輪法王 張無忌 鰲拜 忽必烈 郭襄 令狐沖 
       謝遜 梅超風 殷天正 段譽 袁冠南 張三丰 王語嫣 阿紫 謝遜 楊過 郭靖 黃蓉 
       雙兒 滅絕師太 段譽 張無忌 陳家洛 黃蓉 鰲拜 黃藥師 逍遙子 忽必烈 趙敏 
       逍遙子 完顏洪烈 金輪法王 雙兒 鰲拜 洪七公 郭芙 郭襄 趙敏'''
from collections import Counter
words = s.split()
c = Counter(words)
print(c.most_common(1)[0][0])

首先將字符串通過split轉換成列表,字符串和列表互換的方法可以參考python 字符串(str)和列表(list)的互相轉換

然後利用Counter來對列表的數據進行統計,輸出出現頻率最高的人名。

most_common方法後的括號(t)裏面表示取出前t個出現次數最多的元素,返回一個列表。

這裏後面記得要加上[0][0]直接取出人名,一個[0]表示取出上述返回列表中的一個元素 ('趙敏', 11),第二個[0]表示取出('趙敏', 11)中的‘趙敏’。

看一下不同的輸出如下:

print(Counter(words).most_common(1))
print(Counter(words).most_common(1)[0])
print(Counter(words).most_common(1)[0][0])
[('趙敏', 11)]
('趙敏', 11)
趙敏

如果你覺得有用,不妨點個贊哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章