代码如下:
#encoding=utf-8
print '中国'
#人名按字母排序,首字母分组
import itertools
import itertools
def groupnames(name_iterable):
sorted_names = sorted(name_iterable, key=_sortkeyfunc)
name_dict = { }
for key, group in itertools.groupby(sorted_names, _groupkeyfunc):
name_dict[key] = tuple(group)
return name_dict
pieces_order = { 2: (-1, 0), 3: (-1, 0, 1) }
def _sortkeyfunc(name):
name_parts = name.split( )
return ' '.join([name_parts[n] for n in pieces_order[len(name_parts)]])
def _groupkeyfunc(name):
return name.split( )[-1][0]
list=['L jhon Ljhon','b ack back','b lack black']
print groupnames(list)
#group by 分组
from itertools import groupby
from operator import itemgetter
things = [('2009-09-02', 11),
('2009-09-02', 3),
('2009-09-03', 10),
('2009-09-03', 4),
('2009-09-03', 22),
('2009-09-06', 33)]
for key, items in groupby(things, itemgetter(0)):
print key
for subitem in items:
print subitem
print '-' * 20
打印结果如下:
中国 {'b': ('b ack back', 'b lack black'), 'L': ('L jhon Ljhon',)} 2009-09-02 ('2009-09-02', 11) ('2009-09-02', 3) -------------------- 2009-09-03 ('2009-09-03', 10) ('2009-09-03', 4) ('2009-09-03', 22) -------------------- 2009-09-06 ('2009-09-06', 33) --------------------