2017-03-08 96 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我們需要知道哪個詞可以附加 –

相關問題