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