python 命名元祖 很多对象,每个对象数据按天存
时间: 2024-02-17 20:05:31 浏览: 95
好的,那么针对您的问题,您可以使用 Python 中的命名元组(namedtuple)和字典(dictionary)来存储每个对象按天存储的数据。您可以定义一个包含多个命名元组的字典,其中每个命名元组都表示一个对象的数据,然后使用日期作为字典的键来存储每天的数据。
以下是一个示例代码:
```python
from collections import namedtuple, defaultdict
# 定义命名元组
ObjectData = namedtuple('ObjectData', ['object_id', 'value'])
# 创建一个字典存储每个对象的数据
object_dict = defaultdict(list)
# 添加数据
object_dict['object1'].append(ObjectData('object1', '2021-01-01', 100))
object_dict['object1'].append(ObjectData('object1', '2021-01-02', 200))
object_dict['object2'].append(ObjectData('object2', '2021-01-01', 300))
object_dict['object2'].append(ObjectData('object2', '2021-01-03', 400))
# 访问数据
for obj_id, obj_data in object_dict.items():
print(f"Object ID: {obj_id}")
for data in obj_data:
print(f"\t{data.object_id} - {data.value} on {data.date}")
```
输出结果为:
```
Object ID: object1
object1 - 100 on 2021-01-01
object1 - 200 on 2021-01-02
Object ID: object2
object2 - 300 on 2021-01-01
object2 - 400 on 2021-01-03
```
在上面的示例中,我们定义了一个名为 ObjectData 的命名元组,它包含三个字段:`object_id`、`date` 和 `value`。然后,我们创建了一个字典来存储每个对象的数据,并向其添加了一些数据。最后,我们循环遍历字典并访问每个命名元组的字段来打印出每个对象的每天的数据。
阅读全文