Python: devuelve valores de un bucle sin interrumpir
Día, tengo una lista de individuos agrupados por lugar. Quiero producir una nueva variable que dé un número a cada individuo dependiendo de su lugar. Cómo me gustaría que se vieran mis datos es:
place individual
here 1
here 2
here 3
there 1
there 2
somewhere 1
somewhere 2
He escrito esto:
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)
Esto imprime los valores que quiero, sin embargo, cuando pongo el retorno allí, se sale del ciclo y solo devuelve el primer valor. Me preguntaba cómo podría devolver estos valores para poder agregarlos a mis datos como una nueva columna.
Leí sobre el rendimiento? pero no estaba seguro de si es apropiado. ¡Gracias por tu ayuda!
Saludos, Adam