-3

次の内容を簡単に理解する方法はありますか

words = ["x", "mouse", "looloo", "google", "foo"]
terms = set()
for i in xrange(len(words)):
    terms = terms.union([" ".join(words[j:j + len(words) - i]) for j in xrange(len(words))])
return sorted(terms, key=len, reverse=True)
4

1 に答える 1

3

ネストされた for ループを使用する場合と同じ順序でリストすることにより、複数のループをリスト内包表記に入れることができます。

何かのようなもの:

terms = set([" ".join(words[j:j + len(words) - i])
               for i in xrange(len(words)) for j in xrange(len(words))])

しかし、あなたのアルゴリズムはそのままでは読みにくいと思うので、これがあなたの望むことをするかどうかさえわかりません。

于 2012-09-12T20:15:11.973 に答える