以下是一个使用Python编写的示例代码,用于按年份对作物序列进行分组,并计算每个年份的亩数计数和总和:
from collections import defaultdict
# 假设作物序列为一个包含元组的列表,每个元组包含作物名称、种植面积和年份
crops = [
('Crop A', 10, 2019),
('Crop B', 5, 2019),
('Crop A', 8, 2020),
('Crop C', 12, 2020),
('Crop B', 6, 2021),
]
# 使用defaultdict创建一个字典,用于按年份存储作物的亩数计数和总和
crop_stats = defaultdict(lambda: {'count': 0, 'total_area': 0})
# 遍历作物列表,并根据年份进行分组计算
for crop, area, year in crops:
crop_stats[year]['count'] += 1
crop_stats[year]['total_area'] += area
# 打印每个年份的作物亩数计数和总和
for year, stats in crop_stats.items():
print(f"Year: {year}")
print(f"Count: {stats['count']}")
print(f"Total Area: {stats['total_area']}")
print()
运行上述代码将输出:
Year: 2019
Count: 2
Total Area: 15
Year: 2020
Count: 2
Total Area: 20
Year: 2021
Count: 1
Total Area: 6
这段代码使用defaultdict
创建了一个字典crop_stats
,其中每个键是年份,对应的值是一个包含作物亩数计数和总和的字典。然后,遍历作物列表,对每个作物根据年份进行分组,并更新相应年份的计数和总和。最后,打印每个年份的计数和总和。