作者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/cn.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