作者alair99 (I think home)
看板Python
標題[問題] 計算名字list中開頭字母的人數
時間Tue Mar 17 20:27:22 2015
比如說 Jack是J開頭
Benson是B開頭
想計算list中個各字母開頭的人名有多少個
目前只想到用switch去寫,
但是這需要寫26個case,
請問有更簡單程式碼更短的寫法嗎?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.10.148
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1426595245.A.CDC.html
1F:推 ckc1ark: collections裡的Counter可以試試 03/17 20:39
2F:→ ckc1ark: Counter(x[0] for x in namelist) 03/17 20:40
3F:推 COLDTURNIP: 土炮法: len(set(name[0] for name in namelist)) 03/17 23:06
4F:→ COLDTURNIP: 我誤解題意了,請無視 orz 03/17 23:08
5F:推 ddavid: name_count[ord(name[0]) - 65] += 1 03/18 02:14
6F:→ ddavid: 利用換算ASCII碼 - 65當索引值(0~25) 03/18 02:15
7F:→ ddavid: 不過此法要確保沒例外,不然就會List index out of range 03/18 02:17
8F:→ ddavid: 可先用一行確定值在65到90之間 03/18 02:17
9F:推 RishYang: 用for each檢查所有名字的開頭字母,dict存入 03/19 02:13
10F:→ alair99: 謝謝各位大大 :) 03/20 17:00