我有一个包含 [yyyy, value] 项目的列表列表,每个子列表都按递增的年份排序。这是一个示例:
A = [
[[2008, 5], [2009, 5], [2010, 2], [2011, 5], [2013, 17]],
[[2008, 6], [2009, 3], [2011, 1], [2013, 6]], [[2013, 9]],
[[2008, 4], [2011, 1], [2013, 4]],
[[2010, 3], [2011, 3], [2013, 1]],
[[2008, 2], [2011, 4], [2013, 1]],
[[2009, 1], [2010, 1], [2011, 3], [2013, 3]],
[[2010, 1], [2011, 1], [2013, 5]],
[[2011, 1], [2013, 4]],
[[2009, 1], [2013, 4]],
[[2008, 1], [2013, 3]],
[[2009, 1], [2013, 2]],
[[2013, 2]],
[[2011, 1], [2013, 1]],
[[2013, 1]],
[[2013, 1]],
[[2011, 1]],
[[2011, 1]]
]
我需要在 min(year) 和 max(year) 之间插入所有缺失的年份,并确保保留订单。因此,例如,取 A 的第一个子列表:
[2008, 5], [2009, 5], [2010, 2], [2011, 5], [2013, 17]
应该看起来像:
[min_year, 0]...[2008, 5], [2009, 5], [2010, 2], [2011, 5], [2012, 0],[2013, 17],..[max_year, 0]
此外,如果任何子列表仅包含单个项目,则应对其应用相同的过程,以便原始值保留其假定的顺序,并正确插入其余的最小到最大(年份,值)项目。
有任何想法吗?
谢谢。