Python 列表中移除奇數元素


在 Python 中,列表是一種通用的資料結構,允許你儲存和操作專案的集合。可能有一些用例需要根據某些條件從列表中刪除特定元素。在本教程中,我們將學習如何在 Python 中從列表中刪除奇數元素。

使用 For 迴圈和 remove() 方法

這種方法是使用 for 迴圈迭代列表的每個元素,並檢查元素是奇數還是偶數,然後使用 remove() 方法將其從列表中刪除。

語法

remove()

remove(item)

引數

  • 專案:要從列表中移除的專案。

解釋

  • 建立一個包含奇數和偶數組合的列表。

  • 使用 for 迴圈迭代整個列表。

  • 對於每個元素,檢查它是奇數還是偶數。

  • 如果數字是奇數,則使用 remove() 方法將其從列表中刪除。

示例

arr = [1, 2, 3, 4, 5, 6]
print("Original List : ",arr)
for i in arr:
    # checking if the number is odd number
    if(i%2==1):
        # removing from the list.
        arr.remove(i)
print("List after odd elements removed : ",arr)

輸出

Original List :  [1, 2, 3, 4, 5, 6]
List after odd elements removed :  [2 4 6]

使用列表推導式

列表推導式提供了一種迭代元素列表並執行檢查以驗證元素是奇數還是偶數的方法。

語法

[expression for element in iterable]
  • 可迭代物件:它可以是列表、集合、元組或任何 Python 可迭代物件。

  • 元素:可迭代物件中存在的專案。

  • 表示式:我們要對元素執行的操作。

解釋

  • 建立一個元素列表。

  • 使用列表推導式迭代列表,只有當它不是奇數時才將其新增到列表中。

示例

arr = [1, 2, 3, 4, 5, 6]

print("Original List : ",arr)

arr = [i for i in arr if i%2==0]

print("List after odd elements removed : ",arr)

輸出

Original List :  [1, 2, 3, 4, 5, 6]
List after odd elements removed :  [2 4 6]

使用 filter() 函式

Python 中的 filter() 函式是一個內建函式,它透過根據條件過濾可迭代物件的元素來建立一個新的可迭代物件。它接受兩個引數:一個定義條件的函式和一個包含要過濾的元素的可迭代物件。

語法

filter(function, iterable)
  • 可迭代物件:將應用指定函式的專案序列。

  • 函式:我們要應用於迭代器中專案的函式。

解釋

  • 建立一個元素列表。

  • 我們將使用 lambda 函式來檢查元素是奇數還是偶數。

  • 將上述 lambda 函式和列表傳遞給 filter 方法。

  • filter 方法將返回一個可迭代物件,使用 list() 方法將其轉換為列表。

示例

arr = [1, 2, 3, 4, 5, 6]

print("Original List : ",arr)

arr = list(filter(lambda i: i % 2 == 0, arr))

print("List after odd elements removed : ",arr)

輸出

Original List :  [1, 2, 3, 4, 5, 6]
List after odd elements removed :  [2 4 6]

使用 NumPy

NumPy 陣列具有高階過濾功能。NumPy 陣列可以應用布林掩碼,具有 True 的元素將被保留,其他元素將被移除。在這種情況下,為了獲得布林掩碼陣列,只需將陣列除以 2,它將返回一個布林陣列,指示哪些元素是偶數,哪些是奇數。

語法

NumPy 中的 np.array() 函式用於根據可迭代物件建立一個新的 NumPy 陣列。

numpy.array(iterable)
  • 可迭代物件:要轉換為 NumPy 陣列的列表或元組。

解釋

  • 建立一個元素列表,並使用 numpy.array() 將其轉換為 NumPy 陣列。

  • 透過將 NumPy 陣列除以 2 來建立一個布林掩碼陣列。

  • 現在將建立的布林陣列作為索引傳遞給 NumPy 陣列,這將只返回偶數。

示例

import numpy as np
arr = [1, 2, 3, 4, 5, 6]

print("Original List : ",arr)

arr = np.array(arr)
arr = arr[arr % 2 == 0]

print("List after odd elements removed : ",arr)

輸出

Original List :  [1, 2, 3, 4, 5, 6]
List after odd elements removed :  [2 4 6]

結論

在本教程中,我們探索了從列表中刪除奇數元素的多種方法,包括列表推導式、迴圈、filter 函式和 NumPy 庫的高階過濾功能。

更新於: 2023年8月9日

4K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告