1

グリーンハンドのpythonプログラマーとして、私は少し問題があります。誰かが助けてくれれば幸いです!!

私は2つのリストを持っています

次のようなランダムに繰り返される数字 (サイズがわからない) のリスト:

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

for n in number これらの数字を順番に人々のリストに与えたいと思います.1人に1つの数字です. 番号が繰り返される場合、プログラムは最初に表示されたときにこの番号を取得した人を見つけます。次のようなリストを印刷したいということです

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

print people
4

1 に答える 1

0

数値からインデックスへのマッピングをに保存し、必要に応じdictて更新します。

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
于 2013-03-22T15:25:13.457 に答える