作者bigpigbigpig (To littlepig with love)
看板Python
标题Re: [问题] 计算名字list中开头字母的人数
时间Wed Mar 18 12:49:25 2015
※ 引述《alair99 (I think home)》之铭言:
: 比如说 Jack是J开头
: Benson是B开头
: 想计算list中个各字母开头的人名有多少个
: 目前只想到用switch去写,
: 但是这需要写26个case,
: 请问有更简单程式码更短的写法吗?
: 谢谢
Python 3 :
from itertools import groupby
namelist = [ 'Jack', 'Bob', 'Mary', 'John', 'Mandy', 'Bruce' ]
for k,g in groupby(sorted(namelist), key = lambda n:n[0]):
print("%s : %d" % (k, len(list(g))))
==============================================================
B : 2
J : 2
M : 2
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.145.196
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1426654168.A.6F6.html
※ 编辑: bigpigbigpig (111.243.145.196), 03/18/2015 12:50:11
1F:→ alair99: 厉害 没想到还能这样用 XD 03/20 17:05
2F:→ uranusjr: 这应该超慢的吧, 尤其如果 list 顺序很乱 03/20 17:34