Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何创建一个对象来存储从词汇表中的单词到其索引的映射?_Python_Nlp_Vocabulary - Fatal编程技术网

Python 如何创建一个对象来存储从词汇表中的单词到其索引的映射?

Python 如何创建一个对象来存储从词汇表中的单词到其索引的映射?,python,nlp,vocabulary,Python,Nlp,Vocabulary,我在词汇表中有一个标记化的单词列表。(它已通过一个集合,因此没有重复项。) 我的问题 我想生成一个方法,创建一个字典,允许从单词映射到词汇表中的索引 我的尝试 我目前的方法是这样的: mapping = { w : vocabulary.index(w) for w in vocabulary } 这应该是可行的,但效率太低了,可能是因为重复使用词汇表。索引(w)包含数千个单词 问题 有没有一个我可以更有效地使用的库?还是更有效的方法 谢谢 可能的解决方案1 目前,每次在“词汇表”中找到一个单

我在词汇表中有一个标记化的单词列表。(它已通过一个集合,因此没有重复项。)

我的问题

我想生成一个方法,创建一个字典,允许从单词映射到词汇表中的索引

我的尝试

我目前的方法是这样的:

mapping = { w : vocabulary.index(w) for w in vocabulary }
这应该是可行的,但效率太低了,可能是因为重复使用词汇表。索引(w)包含数千个单词

问题

有没有一个我可以更有效地使用的库?还是更有效的方法

谢谢

可能的解决方案1

目前,每次在“词汇表”中找到一个单词时,都会实现词汇表.index(),这需要通过“词汇表”来识别索引,这是为每个单词完成的。正如回答中所建议的,一种可能性是先列举“词汇”。这允许一次通过它来识别索引,如下所示:

mapping = { w : i for i, w in enumerate(vocabulary) }

尝试按如下方式更改代码。 映射={w:i代表枚举(词汇表)中的i,w}
其中i是单词w的索引。

哦,太好了,听起来不错。因此,在执行此操作时,您要枚举vocab,这允许您通过它一次来创建dict?