理解すると、ネストされたリストの反復は、対応するforforループと同じ順序に従う必要があります。
理解するために、NLPの簡単な例を取り上げます。各文が単語のリストである文のリストから、すべての単語のリストを作成するとします。
>>> list_of_sentences = [['The','cat','chases', 'the', 'mouse','.'],['The','dog','barks','.']]
>>> all_words = [word for sentence in list_of_sentences for word in sentence]
>>> all_words
['The', 'cat', 'chases', 'the', 'mouse', '.', 'The', 'dog', 'barks', '.']
繰り返される単語を削除するには、リスト[]の代わりにセット{}を使用できます
>>> all_unique_words = list({word for sentence in list_of_sentences for word in sentence}]
>>> all_unique_words
['.', 'dog', 'the', 'chase', 'barks', 'mouse', 'The', 'cat']
または適用する list(set(all_words))
>>> all_unique_words = list(set(all_words))
['.', 'dog', 'the', 'chases', 'barks', 'mouse', 'The', 'cat']
itertools.chain
あなたが平らにリストをしたい場合:list(chain.from_iterable(entry for tag in tags for entry in entries if tag in entry))