我可以用地图功能做到这一点吗?

Can I do this with a map function?

我正在学习 map、filter 和 reduce 函数。在做练习时,我想知道我是否可以用 map 函数来编写它,但我搞砸了一点,但我无法找到解决方案。这可能吗?任何帮助将不胜感激。

for f in words:
    a = words.index(f)
    final_dict[str(words[a])] = len(pre[a])

words 是一个单词列表,pre 是一个列表列表。

dict 构造函数接受 key/value 对的可迭代,所以是的:

def to_pair(item):
    i, word = item
    return (word, len(pre[i]))

final_dict = dict(map(to_pair, enumerate(words)))

(如果已有条目,则使用 final_dict.update。)