Мой вариант. Список встроен в функцию, на вход получаем строго "а". Всё, что будет больше ПРЕДпоследнего элемента - запишется в последнюю группу, даже если больше последнего элемента.
def group_place(a):
l = [100, 200, 300, 400, 500]
for i in range(0, len(l)):
if a <= l[i]: break
return i