python comportamento de grupo?

>>from itertools import groupby
>>keyfunc = lambda x : x > 500
>>obj = dict(groupby(range(1000), keyfunc))
>>list(obj[True])
[999]
>>list(obj[False])
[]

range (1000) é obviamente classificado por padrão para a condição (x> 500
Eu esperava que os números de 0 a 999 fossem agrupados em um dict pela condição (x> 500). Mas o dicionário resultante tinha apenas 999.
onde estão os outros números? Alguém pode explicar o que está acontecendo aqui?

questionAnswers(3)

yourAnswerToTheQuestion