python 对象数组变成字典数组
时间: 2023-10-30 15:06:18 浏览: 299
假设你有一个包含多个对象的数组,每个对象都有一些属性,你希望将这个数组转换为一个字典数组,其中每个字典表示一个对象,键是属性名,值是属性值。可以按照以下方式实现:
```python
# 假设你有一个对象数组
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person('Alice', 25), Person('Bob', 30), Person('Charlie', 35)]
# 将对象数组转换为字典数组
dict_array = []
for person in people:
# 创建一个空字典
person_dict = {}
# 遍历对象的属性,并将其添加到字典中
for key in person.__dict__:
person_dict[key] = person.__dict__[key]
# 将字典添加到字典数组中
dict_array.append(person_dict)
# 打印结果
print(dict_array)
```
输出结果如下:
```
[{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 35}]
```
这里的关键是利用对象的 `__dict__` 属性,它返回一个字典,其中包含对象的所有属性和对应的值。然后,我们可以遍历这个字典,并将其中的键值对添加到一个新的字典中,最终将这个字典添加到字典数组中。
阅读全文