Python程式用於移除字典中的空值
字典被稱為集合資料型別。它們以鍵值對的形式儲存資料。它們是有序且可更改的,即它們遵循特定的序列並被索引。我們可以更改鍵的值,因此它是可操作或可更改的。字典不支援資料重複。每個鍵可以有多個值與之關聯,但單個值不能有多個鍵。我們可以使用字典執行許多操作。整個機制取決於儲存的值。
在本文中,我們將討論可用於從字典中移除“空值”的技術。在我們開始主要操作之前,我們必須對字典中的值處理有一個牢固的理解。讓我們快速瀏覽一下本文的概述。
本文分為兩個部分:
第一部分將重點介紹“空值”的概念及其意義。
在第二部分中,我們將討論使用Python程式碼可以移除這些空值的各種方法。
字典值的概念
字典作為一種集合資料型別,以值的形式儲存資料。這些值可以是任何資料型別,但應與不可變的鍵物件關聯。讓我們看看不同型別值的語法:
dict1 = {"key1": "value1", "key2": "value2"}
這裡,每個鍵只有一個值,但我們可以為一個鍵分配多個值:
dict1 = {"key1": ("art", 3, 4.5), "key2": ("logic", 7, 5.5)}
正如我們所看到的,值可以是任何資料型別。既然我們已經理解了字典中值的的概念,讓我們理解空值的邏輯。
空值的 概念
空值不是Python的原始概念,它用於Java或C等語言。儘管Python中的空值大相徑庭。在Python中,空值由“None”關鍵字表示。在其他語言中,空值充當指標或參考點,但在Python中它要大得多。
“None”關鍵字在Python中充當一等公民。它不僅限於零值變數,其作用還擴充套件到函式操作。每當函式不包含“return語句”時,都會返回None值。
在Python中使用“None”值有很多優點:
我們可以使用None作為預設引數來多次呼叫函式。
我們也可以將其用作空值。
用於宣告空變數。
解碼跟蹤錯誤中空值的影響。
我們可以使用None為函式生成空物件。
這些是Python中“None”關鍵字的優點。有時需要移除此類值,這就是我們將討論拾取和丟棄None值的不同方法的原因。
以下是從字典中移除空值的方法:
使用蠻力法
在這種方法中,我們將檢查字典中的所有值並拾取具有“空值”的值。讓我們看看它的實現:
示例
在下面的程式中:
我們建立了一個包含輸入資料的字典。
我們建立了一個空字典來儲存非“None”的值。
我們遍歷字典並建立了一個過濾空值的條件。最後,我們列印新的字典。
dict1 = {"key1": 2, "key2": None, "key3": 5, "key4": "abc"} dictrem = {} for keys, values in dict1.items(): if values is not None: dictrem[keys] = values print(dictrem)
輸出
{'key1': 2, 'key3': 5, 'key4': 'abc'}
使用字典推導式
這是一種更好、更最佳化的丟棄空值的方法。我們將巧妙地傳遞單行命令來過濾這些值。讓我們看看實現:
示例
以下示例有助於我們憑經驗理解上述概念。
dict1 = {"key1": 2, "key2": None, "key3": 5, "key4": "abc"} dictrem = {keys:values for keys, values in dict1.items() if values is not None} print(dictrem)
輸出
{'key1': 2, 'key3': 5, 'key4': 'abc'}
示例
dict1 = {"key1": 2, "key2": None, "key3": 5, "key4": "abc", "key5": 0} dictrem = {keys:values for keys, values in dict1.items() if values is not None and values != 0} print(dictrem)
輸出
{'key1': 2, 'key3': 5, 'key4': 'abc'}
這些是從字典中移除空值的基本方法。編碼人員需要分離值,這在輸入資料量很大的情況下非常有用。第二種方法是處理空值更好的方法。
結論
在本文中,我們討論了字典的基本概念以及鍵和值的意思。我們瞭解了空值在Python中的重要性和意義。最後,我們討論了從字典中移除空值的各種方法。