2017-03-08 12 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

を行うことができます

outterリストにと最初の反復は、それはペアではなくペアのリストのリストのリストですされています。 –

+0

ディクショナリのように見えます –

答えて

0

あなたは、ネストされたリストを持っています。あなたは

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

ありがとうBobby私はそれをしましたが、動作していません –

+0

@IbrahimDangou編集を参照してください – Bobby

+0

問題は私たちがリストのリストを持っていることです[( '後'、 'IN')、( '生成'、 'VBG')])リストの中のitemは2つの項目で構成されています。それぞれの項目はwordとそのタグです。tup [1] == NNの場合は、どの単語を追加できるかを知る必要があります。 –

関連する問題