Python ValueError:值太多,无法解包错误
我有一个由单词及其标记组成的词性对列表,我使用下面的函数来迭代这个列表,并选择符合if语句的对,但我有一个错误。名单如下:Python ValueError:值太多,无法解包错误,python,Python,我有一个由单词及其标记组成的词性对列表,我使用下面的函数来迭代这个列表,并选择符合if语句的对,但我有一个错误。名单如下: [[('After', 'IN'), ('generating', 'VBG')], [('generating', 'VBG'), ('all', 'DT')], [('all', 'DT'), ('feature', 'NN')], [('feature', 'NN'), ('spaces', 'NNS')]] 这就是功能: def select_posesPa
[[('After', 'IN'), ('generating', 'VBG')],
[('generating', 'VBG'), ('all', 'DT')],
[('all', 'DT'), ('feature', 'NN')],
[('feature', 'NN'), ('spaces', 'NNS')]]
这就是功能:
def select_posesPairs(tweet):
D=[]
s = getTokenss(tweet)
for first,second in s:
for word,tag in second:
if tag =='NN':
D.append(word)
return D
这就是错误:
ValueError: too many values to unpack
您有一个嵌套列表。第一次迭代在outter列表中 你能行
for sub_list in s:
for tuple_data in sub_list:
if tuple_data[1] == 'NN'
结果
In [3]: s = [[('After', 'IN'), ('generating', 'VBG')],
...: [('generating', 'VBG'), ('all', 'DT')],
...: [('all', 'DT'), ('feature', 'NN')],
...: [('feature', 'NN'), ('spaces', 'NNS')]]
In [4]: for sub_list in s:
...: for tup in sub_list:
...: print(tup[1])
...:
IN
VBG
VBG
DT
DT
NN
NN
NNS
这是一个成对列表,而不是成对列表。看起来字典更适合这里。问题是我们有列表,例如[('After','IN'),('generating','VBG')]是s列表中的一个项目,它本身由两个项目组成,每个项目是单词及其标记,当我们使用if tup[1]时==NN我们需要知道哪个词可以是appended@IbrahimDangou我不明白你在说什么。如果你想要这个单词,只需执行
tup[0]
???tup是一个包含单词和标记的元组