作者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://www.ptt.cc/bbs/Python/M.1426654168.A.6F6.html
※ 編輯: bigpigbigpig (111.243.145.196), 03/18/2015 12:50:11
→ alair99: 厲害 沒想到還能這樣用 XD 03/20 17:05
→ uranusjr: 這應該超慢的吧, 尤其如果 list 順序很亂 03/20 17:34