這篇文章主要介紹“python怎么解決有序字符數(shù)問題”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“python怎么解決有序字符數(shù)問題”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站建設、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的湖北網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
有序字符數(shù)
1.1 菜雞解法
from collections import OrderedDict
def ordered_count(input):
counts = OrderedDict()
for char in input:
counts[char] = counts.get(char, 0) + 1
return list(counts.items())
1.2 高手解法1
from collections import OrderedDict, Counter
class OrderedCounter(Counter, OrderedDict):
pass
def ordered_count(seq):
m=OrderedCounter(seq)
return list(OrderedCounter(seq).items())
1.3 高手解法2
from collections import Counter
def ordered_count(input):
return list(Counter(input).items())
1.4 點評
這道題因為要考慮有序,就是按照字符串里面的字符順序,同時要統(tǒng)計字符出現(xiàn)的次數(shù)。高手解法1非常巧妙,里面兩個類的繼承,同時繼承了collection 模塊里面的OrderedDict和Counter兩個子類。很秒!
縮寫雙字名稱答案
2.1 高手解法1
def abbrevName(name): return '.'.join(w[0] for w in name.split()).upper()
2.2 高手解法2
abbrevName = lambda name: ".".join(e[0].upper() for e in name.split())
2.3 點評
幾種高手的解法都是利用列表推導列表進行快速處理,然后用字符串自帶upper()函數(shù)進行全大寫。建議要熟悉常用的內置函數(shù),比如:
''.lower()''.upper()''.count()''.startswith()''.capitalize()
關于“python怎么解決有序字符數(shù)問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
文章題目:python怎么解決有序字符數(shù)問題
新聞來源:http://jinyejixie.com/article46/jjpdhg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、面包屑導航、搜索引擎優(yōu)化、標簽優(yōu)化、全網(wǎng)營銷推廣、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)