【AIプロジェクト】2日目:リストに重複した単語を1つにまとめる方法

Bookmark this on Google Bookmarks
Pocket

#単語を抽出して語彙に記憶させる
語彙をできるだけ多く記憶させるために、ひたすらリストにappend() していくのはいいけど、ゴミが増える。
それぞれの語彙に対応する文章を割り出したい時に、その文章をもなんども引っ張ってくる恐れがあるから。

そんな無駄をなくすために、今日はリストに重複した単語を消す方法を考える。

リスト内の重複した単語を消去する

サンプルリストを作成

[code lang=py]
nums=[1,2,3,4,5,2,3,4,5,6,7,7,7,3,2,3,4,3,4,2,2,2,4,5,6,3]
[/code]

とりあえず単語ではなくて数字にしてみる。適当に打ったので、何が何個含まれているのか、どれだけ重複しているのかわからない。

まずは、すべての要素に対して何が何個含まれているのか調べよう

重複した数字の個数を調べる

[code lang=py]
for num in nums: #numsリストにあるそれぞれのnumについて
nums.count(num)
[/code]

リスト内に何個含まれているのか個数を調べるときは、count() を使う
##カウントされた数マイナス1回消去する

次に、カウント数から1回引いた回数その数字を消せば良い

[code lang=py]
for num in nums:
nums.count(num)
for i in range(nums.count(num)-1): #カウントされた回数-1回の間
nums.remove(num)
[/code]

これで、重複した数字の消去が完了した。結果は次の通り。

[code lang=text]
print(nums)

[1, 6, 7, 2, 4, 5, 6, 3]
[/code]