[问题] 计算名字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