Python

Pythonでリスト(配列)の中から特定のキーワードを削除する方法!Python初心者の勉強

python ロゴ

取得した文字列を単語ごとにわけて配列に代入し、どの文字が何回使われているか調査することがありました。その際に不要な単語(です、ますなど)を配列から除く必要があったので配列から特定のキーワードを削除する方法を調べたのでその備忘録です。

リスト(配列)の中から特定のキーワードを削除する方法

リストから消したい単語がある時はリストのremove()メソッドを使います。

remove()メソッドを使う

リスト.remove(消したい単語)

以下のように使います。

消したいキーワードが1つでリストの中にも1つの場合

まずは簡単な例から見ていきます。

words_list = ['こんにちは', 'です', '楽しい' ] 
words_list.remove( 'です' )
print(words_list) #  ['こんにちは', '楽しい'] 

上記のように消したいキーワードが「です」1つで、リストの中にも消したいキーワードが1つしかない場合は上記の方法で消すことができます。

消したいキーワードが1つでリストの中に複数キーワードが含まれる場合

消したいキーワードがリストの中に何個か含まれる場合はfor文を使って配列の中身を確認して消していきます。

以下サンプルコードです。

words_list = ['こんにちは', 'です', '楽しい', 'おいしい', 'です' ] 

for word in words_list: 
  if word == 'です':
    words_list.remove('です')

print(words_list) # ['こんにちは', '楽しい', 'おいしい']

消したいキーワードが複数あり、リストの中にも複数含まれるときのサンプルコード

それでは一番よく使いややこしいパターンの消したいキーワードが複数あり、リストの中にも複数含まれるときのサンプルコードです。

以下サンプルコード。

words_list = ['こんにちは', 'です', 'できる', '楽しい', 'ます', 'おいしい', '言葉', 'です', '汚い',  'ます' ] 

# 取り除きたい文字列
exclude_words = ['です', 'ます']

for word in words_list: 
 for exclude in exclude_words:
   if word == exclude:
    words_list.remove(exclude)

print(words_list)

結果

[‘こんにちは’, ‘できる’, ‘楽しい’, ‘おいしい’, ‘言葉’, ‘汚い’]

おわり

for文に慣れていないと作るのが面倒ですよね。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です