Mam listę jak tenróżnica między dict (GroupBy) i GroupBy
[u'201003', u'200403', u'200803', u'200503', u'201303',
u'200903', u'200603', u'201203', u'200303', u'200703', u'201103']
Nazwijmy tę listę jako 'years_list'
Kiedy zrobiłem GroupBy roku,
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)
I uzyskałem pożądaną moc wyjściową:
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']
Potem lekko zmienił mój realizacja tak,
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)
Właśnie dodał dict, ale wynik jest inny,
2003 []
2006 []
2007 []
2004 []
2005 []
2008 []
2009 []
2011 [u'201103']
2010 []
2013 []
2012 []
Nie mogłem dowiedzieć się, dlaczego. Proszę, pomóż mi znaleźć to, co faktycznie robi dict.
(Python 2,7)
Pamiętaj, że słowniki nie mają zamówienia. Ale co do tego, dlaczego tylko jedna lista nie jest pusta, to jest dziwne – TerryA
@Haidro: Odpowiedź przez falstru powinna cię oświecić. – justhalf
@justhalf Oh oczywiście! – TerryA