使用Python移除字典鍵中的空格


Python是一個廣泛使用的平臺,用於資料分析、Web開發、人工智慧以及藉助自動化執行許多不同型別的任務。瞭解Python的不同特性非常重要。在本文中,我們將學習字典特性以及如何使用Python移除鍵之間的空格。此特性主要用於根據需要儲存和檢索資料,但有時鍵值之間可能會出現空格。這會在使用者需要訪問資料或需要編輯資料時導致錯誤。

移除空格的不同方法

為了確保不會出現此類問題並獲得流暢的使用者體驗,我們可以移除字典鍵之間的空格。因此,在本文中,我們將學習關於**如何使用Python移除字典鍵中空格的不同方法?**

建立新字典

移除空格最簡單的方法之一是簡單地建立一個全新的字典。步驟是選擇現有字典中的每個鍵值對,並使用相同的鍵值建立一個新字典,只需移除鍵值之間的空格即可。讓我們來看一個例子來更好地理解它:

def remove_spaces(dictionary):
    modified_dictionary = {}
    for key, value in dictionary.items():
        new_key = key.replace(" ", "")  #removing space between keys
        modified_dictionary[new_key] = value
    return modified_dictionary

在上面的程式碼中

  • 字典輸入傳遞給名為remove_spaces的函式

  • 所有新值都存在於modified_dictionary中

  • 要使用鍵之間有空格的舊值,可以使用items()

  • 要移除modified_library中的所有空格,可以使用replace()。

要檢查鍵之間是否已移除空格,可以使用以下字典:

test_dictionary = {"full name": "Aayush Yadav", "age": 12} 
#This data is used just for example

然後,我們將使用remove_spaces和test_dictionary作為函式和引數。

示例

def remove_spaces(dictionary):
    modified_dictionary = {}
    for key, value in dictionary.items():
        new_key = key.replace(" ", "")  #removing space between keys
        modified_dictionary[new_key] = value
    return modified_dictionary
test_dictionary = {"full name": "Aayush Yadav", "age": 12} 
#This data is used just for example
modified_dictionary = remove_spaces(test_dictionary)
#After the function and argument has been called
print(modified_dictionary)

輸出

執行上述所有步驟後的輸出如下所示

{'fullname': 'Aayush Yadav', 'age': 12}

全名之間的空格已移除,因此我們成功移除了空格。

編輯現有字典

在這種移除鍵中空格的方法中,我們不會像第一種方法那樣在移除空格後建立任何新字典,而是從現有字典中移除鍵之間的空格。我們將透過以下示例更好地理解它

def remove_spaces(dictionary):
    keys_to_remove = []
    for key in dictionary.keys():
        if " " in key:
            new_key = key.replace(" ", "") #removing space between keys
            dictionary[new_key] = dictionary.pop(key)
    return dictionary

上面的程式碼可用於移除鍵之間的所有空格,我們可以透過以下字典來檢查:

our_dictionary = {"full name": "Aayush Singh" , "Father name": "Yadav"}

現在,我們將使用our_dictionary作為引數,並將remove_spaces作為函式來進行更改。

示例

def remove_spaces(dictionary):
    keys_to_remove = []
    for key in dictionary.keys():
        if " " in key:
           new_key = key.replace(" ", "") #removing space between keys
           dictionary[new_key] = dictionary.pop(key)
    return dictionary
our_dictionary = {"full name": "Aayush Singh" , "Father name": "Yadav"}
remove_spaces(our_dictionary)
print(our_dictionary)

輸出

呼叫引數並執行函式後的輸出是

{'fullname': 'Aayush Singh', 'fathername': 'Yadav'}  

全名和父名之間的空格已成功移除。

使用字典推導式

此方法與上面解釋的另外兩種方法不同。在此方法中,我們從字典推導式建立一個新字典。鍵的值保持不變,但唯一更改的是在將資料從字典推導式轉移到新字典時移除了鍵之間的空格。我們可以使用以下程式碼以更好地理解它

def no_spaces (dictionary): #From dictionary Comprehension
    return {key.replace(" ", ""): value for key, value in dictionary.items()}

要移除鍵值之間的空格,可以使用replace()函式,並且我們可以透過以下字典進行檢查

my_dictionary = {"full name": "Aayush Singh", "father name": "Yadav"}

然後,我們將執行my_dictionary作為引數,並將no_spaces作為函式。

示例

def no_spaces (dictionary): #From dictionary Comprehension
    return {key.replace(" ", ""): value for key, value in dictionary.items()}
my_dictionary = {"full name": "Aayush Singh", "father name": "Yadav"}
modified_dictionary = no_spaces (my_dictionary)
print(modified_dictionary)

輸出

在這種情況下,輸出如下所示

{'fullname': 'Aayush Singh', 'fathername': 'Yadav'}

全名和父名之間的空格已移除,因此我們成功移除了空格。

使用遞迴函式

此型別的方法最適合在一個字典存在於另一個字典中的情況(巢狀字典)。在這種情況下,我們可以使用遞迴函式來移除鍵之間的空格。我們將透過以下示例更好地理解它

def remove_spaces (dictionary): 
    new_dictionary = {}
    for key, value in dictionary.items(): #For normal dictionary
        if isinstance(value, dict):  #for nested dictionary	
            value = remove_spaces (value)
        new_key = key.replace(" ", "") #removing space between keys
        new_dictionary[new_key] = value
    return new_dictionary

我們將使用以下示例來測試程式碼

test_dictionary = {"full name": "Aayush Singh", "father name": "Yadav", "details": {"age": 12, "blood group": "O-"}}

現在,我們將呼叫引數test_dictionary並執行函式remove_spaces

示例

def remove_spaces (dictionary): 
    new_dictionary = {}
    for key, value in dictionary.items(): #For normal dictionary
        if isinstance(value, dict):  #for nested dictionary	
            value = remove_spaces (value)
        new_key = key.replace(" ", "") #removing space between keys
        new_dictionary[new_key] = value
    return new_dictionary
test_dictionary = {"full name": "Aayush Singh", "father name": "Yadav", "details": {"age": 12, "blood group": "O-"}}
modified_dictionary = remove_spaces (test_dictionary)
print(modified_dictionary)

輸出

上述示例的輸出將是

{'fullname': 'Aayush Singh', 'fathername': 'Yadav', 'details': {'age': 12, 'bloodgroup': 'O-'}}

全名和父名之間的空格已移除,因此我們成功地使用遞迴函式移除了空格。

結論

Python有許多不同的用途,許多不同的人都在使用它,因此人們可能希望使用Python移除字典鍵之間的空格。因此,本文描述了人們可能用來移除鍵之間空格的不同方法。本文包括需要執行以移除鍵之間空格的所有程式碼以及一個示例,以使該方法更容易理解

為防止執行程式碼時出現任何錯誤,請確保更改不會在程式碼的其他部分複製。

更新於:2023年8月1日

867 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告