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

Bookmark this on Google Bookmarks
Pocket

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

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

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

サンプルリストを作成

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]

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

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

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

for num in nums: #numsリストにあるそれぞれのnumについて
    nums.count(num)

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

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

for num in nums:
    nums.count(num)
    for i in range(nums.count(num)-1): #カウントされた回数-1回の間
        nums.remove(num)

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

print(nums)

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