在我正在编写的 Python 程序中,我将使用一个关联数组(字典),它将年份值作为键,并将 12 个月观察的列表作为值。例如,在将我的数据读入字典后,我可能会得到一个看起来像这样的字典(3 个键指向 3 个包含 12 个值的列表):
{ 1953:[34,39,29,12,16,14,35,42,44,31,22,29],
1954:[30,31,32,11,19,22,31,41,34,37,25,22],
1955:[35,36,37,15,19,25,30,45,38,39,21,26] }
每次我将数据读入字典时,我可能有不同数量的键/值对。我想在循环的每次迭代开始时从一个空字典开始,该字典从文件中读取数据(为简单起见,假设它是一个逗号分隔的 13 个值列表,其中第一个是年份,然后是 12 个每月观察值)。我是 Python 新手,想学习在 Python 中做这类事情的最佳实践。在Java中我会这样做:
for (int i = 0; i < 3; i++)
{
Map<String, List<String>> yearToObservationsMap= new HashMap<String, List<String>>();
String line = bufferedReader.readLine();
while (line != null)
{
line = bufferedReader.readLine();
List<String> yearPlusObservations = line.split(",");
String year = yearPlusObservations.remove(0);
yearToObservationsMap.put(year, yearPlusObservations);
}
// now I can work with the dictionary to process the data
}
我的用例是每次使用字典时都需要在字典中有可变数量的条目,所以我想在每次加载之前重新初始化(或清空?)它。例如,在一次迭代中,我可能有 5 年的数据,下一次迭代将有 30 年的数据,下一次将有 17 年的数据。因此,在每次迭代中,我都想清除字典。但是我是否也想以一种给它一个明确的形式的方式声明字典,也就是说,总是知道它的键是年份,值总是12个整数的元素列表?
提前感谢您对理解这一点的帮助。