描述符“ get”需要一个“ dict”对象,但接收到一个“ generator”

时间:2019-04-01 08:55:47

标签: python python-3.x

这是我的代码。此代码行中出现错误。

     inverse_vocabulary = dict.get((word, i) for i, word in enumerate(vocabulary))

我的错误是:

  TypeError  Traceback (most recent call last)
  >     <ipython-input-27-7941d5453736> in <module>()
  >      21 
  >      22     vocabulary = open(r"G:\final year 
  >     project\data/vocabulary.txt").read().split("\n")
  >     ---> 23     inverse_vocabulary = dict.get((word, i) for i, word in 
  >     enumerate(vocabulary))
  >      24 
  >      25 TypeError: descriptor 'get' requires a 'dict' object but 
  received a 
  >     'generator'

1 个答案:

答案 0 :(得分:0)

首先,细节有些笨拙,但是Python不是编译语言-它是一种解释语言-仅供您将来参考

第二,正如评论员所说-您正在将生成器传递到dict.get()中。将生成器包装在dict()调用中,以将其评估为字典。

inverse_vocabulary = dict.get(dict((word, i) for i, word in enumerate(vocabulary)))