📜  Python – 列表中的自定义字典初始化(1)

📅  最后修改于: 2023-12-03 15:34:07.831000             🧑  作者: Mango

Python - 列表中的自定义字典初始化

在 Python 中,我们可以使用字典来存储数据 (key-value pairs)。 其中包括键 (key) 作为字典条目的唯一标识符,值 (value) 则是与键相关联的数据。

在本文章中,我们将讨论如何使用自定义字典初始化来创建一个列表,其中每个字典都包含唯一的特定键值。

创建自定义字典

在 Python 中,我们可以使用大括号 {} 来创建一个字典对象。例如:

person = {'name': 'Tom', 'age': 25, 'city': 'New York'}

在本例中,我们创建了一个名为 person 的字典,其中包括 nameagecity 作为键,分别对应 'Tom'25'New York',作为每个键的值。

我们可以在一个列表中嵌套多个字典。在本例中,我们创建了一个名为 people 的列表,其中包含两个字典:

people = [
    {'name': 'Tom', 'age': 25, 'city': 'New York'},
    {'name': 'John', 'age': 30, 'city': 'Chicago'}
]
自定义字典初始化

Python 允许使用 Python 类来创建自定义数据类型。我们可以定义一个类来代表一个数据结构,然后使用该类来创建新的对象。

以下是一个示例类,这个类代表一个人的信息:

class Person:
    def __init__(self, name, age, city):
        self.name = name
        self.age = age
        self.city = city

在本例中,我们定义了一个名为 Person 的类。我们使用 __init__ 方法来初始化类中的实例属性: nameagecityself 在这里参考实例本身。

现在我们可以使用 Person 类来创建新的人对象。我们创建两个人的示例:

person1 = Person('Tom', 25, 'New York')
person2 = Person('John', 30, 'Chicago')

我们可以使用类似字典的方式来访问实例属性:

print(person1.name)  # Output: 'Tom'
print(person2.age)  # Output: 30

现在我们已经创建了一个自定义类,并且可以使用该类来创建任意数量的 Person 实例。为了在一个列表中使用这些 Person 对象,我们需要将它们转换为字典。

我们可以将 Person 类中的属性转换为字典项:

person_dict = {'name': self.name, 'age': self.age, 'city': self.city}

我们可以将以下示例代码添加到 Person 类中,以将它们转换为 person 类型的字典:

class Person:
    def __init__(self, name, age, city):
        self.name = name
        self.age = age
        self.city = city
        
    def to_dict(self):
        person_dict = {'name': self.name, 'age': self.age, 'city': self.city}
        return person_dict

现在我们可以使用该函数将 Person 实例转换为字典。并使用这些字典来初始化我们的自定义列表:

person1 = Person('Tom', 25, 'New York')
person2 = Person('John', 30, 'Chicago')

people = [person1.to_dict(), person2.to_dict()]

现在,people 列表中包含两个字典,该字典使用 Person 类中定义的属性作为键值。

结论

在本文章中,我们讨论了如何使用 Python 自定义类和字典初始化来创建包含自定义数据结构的列表。 通过实现一个 to_dict 函数,我们可以将 Person 类型的对象转换为字典,然后在列表中使用它们。

这种技术可以应用于许多不同的情况,使我们能够更有效地组织我们的数据,以便后期进行分析、计算和可视化。