Python ValueError:值太多,无法解包错误

Python ValueError:值太多,无法解包错误,python,Python,我有一个由单词及其标记组成的词性对列表,我使用下面的函数来迭代这个列表,并选择符合if语句的对,但我有一个错误。名单如下: [[('After', 'IN'), ('generating', 'VBG')], [('generating', 'VBG'), ('all', 'DT')], [('all', 'DT'), ('feature', 'NN')], [('feature', 'NN'), ('spaces', 'NNS')]] 这就是功能: def select_posesPa

我有一个由单词及其标记组成的词性对列表,我使用下面的函数来迭代这个列表,并选择符合if语句的对,但我有一个错误。名单如下:

[[('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是一个包含单词和标记的元组