Python dict индексов из спискаPython

Программы на Python
Anonymous
Python dict индексов из списка

Сообщение Anonymous »

У меня есть список пар целых чисел [(int1, int2), (int3, int4) ...] (или любых неизменяемых объектов, которые можно использовать в качестве ключей dict).
Мне нужен dict где каждый элемент является уникальным элементом входного списка, а каждое значение представляет собой список индексов элемента в списке.
например,

Код: Выделить всё

l = [(1,2),(1,2),(1,3),(1,4),(5,2)]
d = {(1, 2): [0, 1], (1, 3): [2], (1, 4): [3], (5, 2): [4]}
Я могу построить этот словарь следующим образом

Код: Выделить всё

def indices_dict(l):
d = {}
for i, e in enumerate(l):
if not e in d:
d[e] = []
d[e].append(i)
return dict(d)
Но мне кажется, что я перебираю все элементы, если это не оптимально.
Как я могу сделать это быстрее, используя больше встроенных функций Python или numpy?

Подробнее здесь: https://stackoverflow.com/questions/785 ... -from-list

Вернуться в «Python»