[Python]リスト(List)の奇数を削除するには?

python

どうも、ちょげ(@chogetarou)です。

リスト(List)の奇数を削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リスト(List)の奇数を削除する方法は、2つあります。

forループ

1つは、forループを使う方法です。

まず、リスト(List)をforループします。

forループの処理でif文を呼び出し、要素を2で割った余りが0かどうか判定します。

要素を2で割った余りが0でない時、引数にその要素を指定したremove()メソッドを呼び出します。

#ls=対象のリスト
for i in ls:
    if i % 2 !=0:
        ls.remove(i)

上記のforループは、リスト内の奇数を全て削除します。

使用例

numbers = [1, 2, 3, 4, 5]

for i in numbers:
    if i % 2 !=0:
        numbers.remove(i)
    
print(numbers) #[2, 4]

filter()関数

もう1つは、filter()関数を使う方法です。

まず、list()を呼び出し、引数でfilter()を呼び出します。

filterの第1引数に引数を1つ持つラムダ式、第2引数にリストを指定します。

そして、、filter()のラムダ式で、「引数を2で割った余りが0」という条件式を返します。

#ls=対象のリスト
result = list(filter(lambda x: x % 2 == 0, ls))

上記のlist(filter())は、filter()の第2引数に指定したリストの奇数を削除したリストを生成します。

使用例

numbers = [1, 2, 3, 4, 5]

result = list(filter(lambda x: x % 2 == 0, numbers))
    
print(result) #[2, 4]

まとめ

リスト(List)の奇数を削除する方法は、次の2つです。

  • forループを使う方法
  • filter()を使う方法

コメント

タイトルとURLをコピーしました