Мне нужно создать словарь элементов без элементов, который отображается более одного раза, и я хочу сохранить начальный индекс. Пример:
a = ['a', 'b' 'a', 'c']
expected = {'b': 1, 'c': 3}
Чтобы решить проблему, я попробовал так:
def unique_array(foo):
correct, duplicates = {}, set()
for value in foo:
if index, value not in enumerate(correct):
correct[value] = index
else:
duplicates.add(value)
return {k: correct[k] for k in set(correct) - duplicates
Есть лучший и более эффективный способ сделать это?