使用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 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.