Dalam pemahaman, iterasi daftar bersarang harus mengikuti urutan yang sama dari imbricated yang setara untuk loop.
Untuk memahaminya, kami akan mengambil contoh sederhana dari NLP. Anda ingin membuat daftar semua kata dari daftar kalimat di mana setiap kalimat adalah daftar kata.
>>> 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', '.']
Untuk menghapus kata yang berulang, Anda bisa menggunakan set {} daripada daftar []
>>> 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']
atau terapkan list(set(all_words))
>>> all_unique_words = list(set(all_words))
['.', 'dog', 'the', 'chases', 'barks', 'mouse', 'The', 'cat']
itertools.chain
jika Anda menginginkan daftar yang datar:list(chain.from_iterable(entry for tag in tags for entry in entries if tag in entry))