Python - 非None元素索引
手頭的問題是從給定的輸入列表中獲取非None元素的索引,並使用Python實現解決方案。有時我們需要在給定的資料集中查詢空值或None值,因此這個問題將有助於解決這類問題。
理解問題
在給定的問題中,我們必須在給定的輸入列表中找到非None項的索引。這個問題可以幫助過濾列表中的None值,或者在需要對None項執行操作時使用。例如,我們將得到一個類似於[1, None, 5, None, 8, 9]的列表,在這個列表中,在找到列表中的非None項後,我們將返回其在新列表中的索引,例如[0, 2, 4, 5]。
上述問題的邏輯
為了解決給定的問題並找到給定列表或陣列中非None項的索引,我們將逐個遍歷元素,並檢查該值是否不等於None。如果找到None值,我們將將其索引儲存在單獨的陣列中。迭代完成後,我們將擁有非None項的索引。
演算法
步驟1 - 第一步是定義名為get_index()的函式。在這個函式中,我們將傳遞專案列表作為輸入。
步驟2 - 然後初始化一個空列表或陣列,例如index = []。此列表將用於儲存非None項的索引。
步驟3 - 接下來,在給定輸入列表的專案值上啟動一個迴圈。在迴圈內,我們將檢查條件,如果該值不等於None。
步驟4 - 如果迭代項不為None,則將索引值追加到我們在步驟2中建立的名為index的列表中。
步驟5 - 最後,我們將返回index列表,其中包含非None項的索引。
示例
# Define the function to get the non-none items index
def get_index(items):
index = []
for i in range(len(items)):
if items[i] is not None:
index.append(i)
return index
# Initialize the list with having None items
the_list = [12, None, 54, None, 31, None, 42, None, 83]
# Call the function
non_none_indices = get_index(the_list)
print("The indices of non-None elements:\n", non_none_indices)
輸出
The indices of non-None elements: [0, 2, 4, 6, 8]
複雜度
在列表中查詢非None項索引的時間複雜度為O(N),其中N是給定輸入the_list的大小。因為我們只遍歷給定列表一次來執行恆定時間操作。這段程式碼的空間複雜度為O(K),K是“index”列表中非None項的數量。
結論
程式碼成功顯示了the_list中非None項的索引。這是在Python中使用列表或陣列時的一個常見問題。因此,我們在這篇文章中學習瞭如何找到非None項的索引。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP