2013-03-22 4 views
1

녹색 손으로 파이썬 프로그래머로, 나는 약간의 문제가있어, 누군가 도움을 주시면 감사하겠습니다! , 수 나는 위해 사람들의 목록이 번호를 부여 할 에서 N에 대한목록에 파이썬, 루프, 배열

number = [44,198,57,48,658,24,7,44,44,44..] 

:

내가 좋아하는 두 목록

무작위로 반복되는 번호 목록 (알 수없는 크기)가 한 사람당 하나의 번호. 번호가 반복되면, 프로그램은 그것이 처음 나타날 때이 번호를 가진 사람을 발견 할 것입니다. 그것은 내가 dict에서 인덱스에

people = [1,2,3,4,5,6,7,1,1,1...] 

print people 

답변

0

스토어 같은 번호에서 매핑을 목록을 인쇄, 당신은 이동로 업데이트 할 것을 의미한다.

numbers = [44,198,57,48,658,24,7,44,44,44.] 
index_mapping = {} 
indexes = [] 
next_index = 1 
for number in numbers: 
    if number in index_mapping: 
     # already seen 
     indexes.append(index_mapping[number]) 
    else: 
     # a new one 
     indexes.append(next_index) 
     index_mapping[number] = next_index 
     next_index += 1 

print indexes