[問題] 計算名字list中開頭字母的人數

作者: alair99 (I think home)   2015-03-17 20:27:22
比如說 Jack是J開頭
Benson是B開頭
想計算list中個各字母開頭的人名有多少個
目前只想到用switch去寫,
但是這需要寫26個case,
請問有更簡單程式碼更短的寫法嗎?
謝謝
作者: ckc1ark (偽物)   2015-03-17 20:39:00
collections裡的Counter可以試試Counter(x[0] for x in namelist)
作者: COLDTURNIP (娶妻當娶五航戰)   2015-03-17 23:06:00
土炮法: len(set(name[0] for name in namelist))我誤解題意了,請無視 orz
作者: ddavid (謊言接線生)   2015-03-18 02:14:00
name_count[ord(name[0]) - 65] += 1利用換算ASCII碼 - 65當索引值(0~25)不過此法要確保沒例外,不然就會List index out of range可先用一行確定值在65到90之間
作者: RishYang (Rish)   2015-03-19 02:13:00
用for each檢查所有名字的開頭字母,dict存入
作者: alair99 (I think home)   2015-03-20 17:00:00
謝謝各位大大 :)

Links booklink

Contact Us: admin [ a t ] ucptt.com