1

作为一个新手python程序员,我有一个小问题,如果有人可以帮助我将不胜感激!

我有两个清单

随机重复数字列表(未知大小),例如:

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

对于数字中的 n,我想按顺序将这些数字提供给一个人列表,一个人一个数字。如果一个号码重复,程序会在第一次出现时找出得到这个号码的人。这意味着我想打印一个类似的列表

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

print people
4

1 回答 1

0

将数字到索引的映射存储在 a 中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 回答