2017-03-08 208 views
-1

我对词性名单名单由文字和标签,我用下面的函数来遍历这个列表,并选择if语句满足对,但我有一个错误。这是列表:ValueError异常:值过多解压错误

[[('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 
+0

这是对列表的列表,而不是对的列表。 –

+0

看起来像字典会更适合这里。 –

回答

0

你有一个嵌套列表。和第一次迭代是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 
+0

谢谢鲍比我这样做,但没有工作 –

+0

@IbrahimDangou看到编辑 – Bobby

+0

的问题是,我们有列表,例如列表[(“后”,“IN”),(“发电”,“VBG”)是一个在上榜的项目是一个列表本身包括两个项目的每个项目为词,它的标签,当我们使用,如果TUP [1] == NN我们需要知道哪个词可以附加 –

相关问题