Python: возвращать значения из цикла без прерывания

Привет, у меня есть список людей, которые сгруппированы по месту. Я хочу создать новую переменную, которая дает число каждому человеку в зависимости от их места. Я хотел бы, чтобы мои данные выглядели так:

place       individual
here        1
here        2
here        3
there       1
there       2
somewhere   1 
somewhere   2

Я написал это:

    nest="ddd", "ddd", "fff", "fff", "fff", "fff", "qqq", "qqq"

    def individual(x):
        i = 0
        j = 1
        while i < len(x):
            if x[i] == x[i-1]:
                print(j+1)
                i = i + 1
                j = j + 1
            else:
                print(1)
                i = i + 1
                j = 1

    individual(nest)

Это распечатывает значения, которые я хочу, однако, когда я помещаю туда return, он выходит из цикла и возвращает только первое значение. Мне было интересно, как я могу вернуть эти значения, чтобы я мог добавить их к своим данным в качестве нового столбца?

Я читал про урожайность? но был не уверен, если это уместно. Спасибо за помощь!

Ура, Адам

Ответы на вопрос(1)

Ваш ответ на вопрос