-1
私は、ワードネットグラフ内の与えられたsynsetのすべての下位児を再帰的に取得するプログラムを作成しました。Python:私のセットはどのようにリストになっていますか?
ただし、これは私の質問とは関係ありません。
私は基本的にすべてのノードをセットに追加しています。私は取得しています 出力は、しかし、ここに私のコードは
import pickle
import nltk
from nltk.corpus import wordnet as wn
feeling = wn.synset('feeling.n.01')
happy = wn.synset('happiness.n.01')
def get_hyponyms(li):
return [x.hyponyms() for x in li]
def flatten(li):
return [item for sublist in li for item in sublist]
def get_hyponyms_list(li):
if li:
return list(set(flatten(get_hyponyms(li))))
def get_the_hyponyms(li, hyps):
if li:
hyps |= set(li)
get_the_hyponyms(get_hyponyms_list(li), hyps)
return hyps
def get_all_hyponyms(li):
hyps = set()
return get_the_hyponyms(li, hyps)
feels = sorted(get_all_hyponyms([feeling]))
print type(feels)
の出力がthis-
<type 'list'>
リスト
ですなぜこの出来事はありますか?
'(ソート)sorted'リストを返す' 'ので、リスト –
を作成します。セットは順序付けされていないので、セットを返すことはできません。 – khelwood
ソートされたセットを元に戻すことを期待している場合は、セットを誤解しています。彼らは注文されていないし、注文することもできない。 – cdarke