разница между dict (groupby) и groupby [дубликаты]
На этот вопрос уже есть ответ здесь:
поведение Python Groupby? 3 ответаУ меня есть такой список
[u'201003', u'200403', u'200803', u'200503', u'201303',
u'200903', u'200603', u'201203', u'200303', u'200703', u'201103']
давайте назовем этот список 'years_list'
Когда я делал групповой год,
group_by_yrs_list = groupby(years_list, key = lambda year_month: year_month[:-2])
for k,v in group_by_yrs_list:
print k, list(v)
Я получил желаемый результат:
2010 [u'201003']
2004 [u'200403']
2008 [u'200803']
2005 [u'200503']
2013 [u'201303']
2009 [u'200903']
2006 [u'200603']
2012 [u'201203']
2003 [u'200303']
2007 [u'200703']
2011 [u'201103']
Затем я немного изменил свою реализацию, как это,
group_by_yrs_list = dict(groupby(years_list, key = lambda year_month: year_month[:-2]))
for k,v in group_by_yrs_list.items():
print k, list(v)
Я только что добавил диктовку, но вывод другой,
2003 []
2006 []
2007 []
2004 []
2005 []
2008 []
2009 []
2011 [u'201103']
2010 []
2013 []
2012 []
Я не мог понять почему. Пожалуйста, помогите мне узнать, что на самом деле делает диктат.
(Python 2.7)