使用 Python 从字典键中删除空格

pythonserver side programmingprogramming

Python 是广泛使用的平台,用于数据分析、Web 开发、AI 以及借助自动化执行许多不同类型的任务。了解 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()

  • 要从修改后的库中删除所有空格,请使用 replace()。

要检查键之间的空格是否被删除,我们可以使用以下字典:-

test_dictionary = {"full name": "Aayush Yadav", "age": 12}
#此数据仅用于示例

然后我们将分别使用 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} 
#此数据仅用于示例
modified_dictionary = remove_spaces(test_dictionary)
#调用函数和参数后
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): #来自字典理解
    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): #来自字典理解
    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(): #对于普通字典
        if isinstance(value, dict):  #for 嵌套字典
            value = remove_spaces (value)
        new_key = key.replace(" ", "") #删除键之间的空格
        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(): #对于普通字典
        if isinstance(value, dict):  #for 嵌套字典
            value = remove_spaces (value)
        new_key = key.replace(" ", "") #删除键之间的空格
        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 删除字典键之间的空格。因此,本文介绍了删除键之间空格的不同方法。本文包括了所有需要完成的编码,以消除按键之间的间距,并提供了一个示例,使该方法更容易理解

为防止在运行代码时出现任何错误,请确保更改不会在代码的其他部分中复制。


相关文章