在 Python 中查詢給定列表中帶有 None 值的索引


在進行資料分析時,我們可能會遇到列表中存在的 None 值。這些值不能直接用於數學運算和字串運算等。因此,我們需要找到它們的位置並轉換它們或有效地使用它們。

使用 range()

透過結合 range 和 len 函式,我們可以將每個元素的值與 None 進行比較並捕獲它們的索引位置。當然,我們使用 for 迴圈設計來實現這一點。

示例

 線上演示

listA = ['Sun', 'Mon',None, 'Wed', None, None]

# Given list
print("Given list : ",listA)

# Using range
positions = [i for i in range(len(listA)) if listA[i] == None]

# Result
print("None value positions : ",positions)

輸出

執行上述程式碼會產生以下結果 −

Given list : ['Sun', 'Mon', None, 'Wed', None, None]
None value positions : [2, 4, 5]

使用 enumerate

我們還可以使用 enumerate 函式列出每個元素。然後,我們將在程式中如下所示比較每個元素和 None 值,並選擇其位置。

示例

 線上演示

listA = ['Sun', 'Mon',None, 'Wed', None, None]

# Given list
print("Given list : ",listA)

# Using enumarate
positions = [i for i, val in enumerate(listA) if val == None]

# Result
print("None value positions : ",positions)

輸出

執行上述程式碼會產生以下結果 −

Given list : ['Sun', 'Mon', None, 'Wed', None, None]
None value positions : [2, 4, 5]

更新日期: 26-Aug-2020

591 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告