Проблема со сбором индексов через defaultdict - PullRequest
0 голосов
/ 07 ноября 2019

Я новичок в программировании и у меня проблемы с домашним заданием. Мне нужно создать функцию, которая бы принимала некоторую коллекцию в качестве аргумента и возвращала словарь, где каждый элемент коллекции был бы ключом, а индекс элемента был бы значением. Мне нужно использовать defaultdict, чтобы сделать это.

Я понимаю, что мне нужно выполнить цикл для элементов, но я не понимаю, что мне следует использовать в качестве аргумента для defaultdict. Может быть, я просто не понимаю концепцию defaultdict. В любом случае, вывод должен выглядеть так:

d = collect_indexes("hello")

d["h"]

[0]

d["e"]

[1]

d["l"]

[2, 3]

1 Ответ

0 голосов
/ 08 ноября 2019

Вы инициализируете dict по умолчанию с типом, который он должен использовать.

def collect_indexes(iter):
    ret = defaultdict(list)
    for index, item in enumerate(iter):
        ret[item].append(index)
    return ret
...