在 Python 字典值 split() 中解压的值太多?
Too many values to unpack in Python dictionary value split()?
我有一本名为 speech_dict
的字典,其中 key
是文件名,value
是一段话(通常约 10,000 个单词)。我正在尝试获取每个单词的词干;这是通过 nltk
模块中的一些函数完成的。这是我的代码:
from __future__ import print_function
from nltk.stem import *
from nltk.stem.snowball import SnowballStemmer
stemmer = SnowballStemmer("english")
spee_dict = speech_dict
for key,value in spee_dict:
for i in value.split():
i = stemmer.stem(i)
i = i.decode('utf-8')
spee_dict[key].add(i)
我收到以下错误:
ValueError: too many values to unpack
speech_dict
中存储了大约 900 个密钥,总共要经过大约 350 万个单词。我怎样才能完成这项工作?
编辑:
好的,Delgan 帮我加了词干。现在如何删除原始单词?
我有这个:
for key,value in spee_dict.items():
for i in value.split():
i_stemmed = stemmer.stem(i)
i_stemmed = i_stemmed.decode('utf-8')
spee_dict[key] += i_stemmed
spee_dict[key] - I
但是 Unicode 不支持 -
操作数。
如果您要查找字典的键值对,则必须使用 .items()
。
for key, value in spee_dict.items():
如果不这样做,您只是在遍历键。因此,由于密钥不是元组,因此会引发错误,因为您无法解压它。
我有一本名为 speech_dict
的字典,其中 key
是文件名,value
是一段话(通常约 10,000 个单词)。我正在尝试获取每个单词的词干;这是通过 nltk
模块中的一些函数完成的。这是我的代码:
from __future__ import print_function
from nltk.stem import *
from nltk.stem.snowball import SnowballStemmer
stemmer = SnowballStemmer("english")
spee_dict = speech_dict
for key,value in spee_dict:
for i in value.split():
i = stemmer.stem(i)
i = i.decode('utf-8')
spee_dict[key].add(i)
我收到以下错误:
ValueError: too many values to unpack
speech_dict
中存储了大约 900 个密钥,总共要经过大约 350 万个单词。我怎样才能完成这项工作?
编辑:
好的,Delgan 帮我加了词干。现在如何删除原始单词?
我有这个:
for key,value in spee_dict.items():
for i in value.split():
i_stemmed = stemmer.stem(i)
i_stemmed = i_stemmed.decode('utf-8')
spee_dict[key] += i_stemmed
spee_dict[key] - I
但是 Unicode 不支持 -
操作数。
如果您要查找字典的键值对,则必须使用 .items()
。
for key, value in spee_dict.items():
如果不这样做,您只是在遍历键。因此,由于密钥不是元组,因此会引发错误,因为您无法解压它。