[Python]forループでリストを奇数だけにするには?

python

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

forループでリスト(List)を奇数のみにする方法を紹介します。

スポンサーリンク

方法

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

forループでリスト(List)を奇数だけにする方法は、2つあります。

remove()

1つは、remove()を使う方法です。

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

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

要素を2で割った余りが0である場合、引数に要素を指定したremove()メソッドを呼び出します。

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

上記のforループは、リストを奇数のみにします。

使用例

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for i in nums:
    if i % 2 ==0:
        nums.remove(i)
        
print(nums)
出力:
[1, 3, 5, 7, 9]

append()

もう1つは、append()を使う方法です。

まず、新しい空のリストを用意します。

次に、対象のリストをforループします。

ループ処理で、if文で「ループ変数を2で割った値が0かどうか」を条件に分岐します。

そして、ループ変数を2で割った値が0でない場合に、空のリストからappend()を呼び出します。

append()の引数にループ変数を指定します。

#ls=対象のリスト
result = []
for item in ls:
    if item % 2 != 0:
        result.append(item)

上記のforループは、対象のリストを奇数のみにした結果を用意したリストに格納します。

使用例

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

result = []
for item in nums:
    if item % 2 != 0:
        result.append(item)
        
print(result)
出力:
[1, 3, 5, 7, 9]

まとめ

forループでリスト(List)を奇数だけにする方法は、次の2つです。

  • remove()を使う方法
  • append()を使う方法

コメント

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